如何使用Google volley post请求网络库发起带Header的HTTP请求

Android Volley框架的几种post提交请求方式
-------------
新增文件夹...
新增文件夹
(多个标签用逗号分隔)
首先简单描述一下Google的Android开发团队在2013年推出的一个网络通信框架Volley.它的设计目标是进行数据量不大,但通信频繁的网络操作,而对于大数据量的网络操作,比如下载文件等,Volley的表现就不尽如人意。
在app开发中,我们最常见的就是从app客户端向服务端发一个http请求.对于两种基本的web请求方式get和post来说,get请求方式相对比较简单,在此略过不表.本文重点描述一下通过volley进行几种post提交的方式.
1.客户端以普通的post方式进行提交,服务端返回字符串
RequestQueue&requestQueue&=&Volley.newRequestQueue(getApplicationContext());
StringRequest&stringRequest&=&new&StringRequest(Request.Method.POST,httpurl,
&&&&new&Response.Listener&String&()&{
&&&&&&&&@Override
&&&&&&&&public&void&onResponse(String&response)&{
&&&&&&&&&&&&Log.d(TAG,&"response&-&&"&+&response);
&&&&},&new&Response.ErrorListener()&{
&&&&&&&&@Override
&&&&&&&&public&void&onErrorResponse(VolleyError&error)&{
&&&&&&&&&&&&Log.e(TAG,&error.getMessage(),&error);
&&&&@Override
&&&&protected&Map&String,&String&&getParams()&{
&&&&&&&&//在这里设置需要post的参数
&&&&&&&&&&&&&&Map&String,&String&&map&=&new&HashMap&String,&String&();&&
&&&&&&&&&&&&map.put("name1",&"value1");&&
&&&&&&&&&&&&map.put("name2",&"value2");&&
&&&&&&&&&&return&
};&&&&&&&&
requestQueue.add(stringRequest); 2.客户端以json串的post请求方式进行提交,服务端返回json串
RequestQueue&requestQueue&=&Volley.newRequestQueue(getApplicationContext());
Map&String,&String&&map&=&new&HashMap&String,&String&();&&
map.put("name1",&"value1");&&
map.put("name2",&"value2");&&
JSONObject&jsonObject&=&new&JSONObject(params);
JsonRequest&JSONObject&&jsonRequest&=&new&JsonObjectRequest(Method.POST,httpurl,&jsonObject,
&&&&new&Response.Listener&JSONObject&()&{
&&&&&&&&@Override
&&&&&&&&public&void&onResponse(JSONObject&response)&{
&&&&&&&&&&&&Log.d(TAG,&"response&-&&"&+&response.toString());
&&&&},&new&Response.ErrorListener()&{
&&&&&&&&@Override
&&&&&&&&public&void&onErrorResponse(VolleyError&error)&{
&&&&&&&&&&&&Log.e(TAG,&error.getMessage(),&error);
&&&&//注意此处override的getParams()方法,在此处设置post需要提交的参数根本不起作用
&&&&//必须象上面那样,构成JSONObject当做实参传入JsonObjectRequest对象里
&&&&//所以这个方法在此处是不需要的
//&&&&@Override
//&&&&protected&Map&String,&String&&getParams()&{&&&&&&&&&&&&&&&&
//&&&&&&&&&&Map&String,&String&&map&=&new&HashMap&String,&String&();&&
//&&&&&&&&&&&&map.put("name1",&"value1");&&
//&&&&&&&&&&&&map.put("name2",&"value2");&&
&&&&&&&&&&&&&&&&
//&&&&&&&&return&
&&&&&&&&&&&&
&&&&@Override
&&&&public&Map&String,&String&&getHeaders()&{
&&&&&&&&HashMap&String,&String&&headers&=&new&HashMap&String,&String&();
&&&&&&&&headers.put("Accept",&"application/json");
&&&&&&&&headers.put("Content-Type",&"application/&charset=UTF-8");
&&&&&&&&&&&&&&&&
&&&&&&&&return&
requestQueue.add(jsonRequest); 看了上面这段代码,会觉得volley这个框架实在是还不够完善,使用JsonObjectRequest对象提交一个post请求,如果有参数需要提交,就必须以JSONObject的json串方式提交.
如果服务端并不支持这种方式呢?比如常见的spring mvc服务端,就很难支持json的请求方式.
那么我们想实现这个目标,就需要使用下面给出的办法.
3.客户端以普通的post方式进行提交,服务端返回json串
首先在Activity类里,继承Request实现一个NormalPostRequest类
private&class&NormalPostRequest&extends&Request&JSONObject&&{
&&&&private&Map&String,&String&&mM
&&&&private&Listener&JSONObject&&mL
&&&&public&NormalPostRequest(String&url,&Listener&JSONObject&&listener,ErrorListener&errorListener,&Map&String,&String&&map)&{
&&&&&&&&super(Request.Method.POST,&url,&errorListener);
&&&&&&&&&&&&
&&&&&&&&mListener&=&
&&&&&&&&mMap&=&
&&&&//mMap是已经按照前面的方式,设置了参数的实例
&&&&@Override
&&&&protected&Map&String,&String&&getParams()&throws&AuthFailureError&{
&&&&&&&&return&mM
&&&&//此处因为response返回值需要json数据,和JsonObjectRequest类一样即可
&&&&@Override
&&&&protected&Response&JSONObject&&parseNetworkResponse(NetworkResponse&response)&{
&&&&&&&&try&{
&&&&&&&&&&&&String&jsonString&=&new&String(response.data,HttpHeaderParser.parseCharset(response.headers));
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&return&Response.success(new&JSONObject(jsonString),HttpHeaderParser.parseCacheHeaders(response));
&&&&&&&&}&catch&(UnsupportedEncodingException&e)&{
&&&&&&&&&&&&return&Response.error(new&ParseError(e));
&&&&&&&&}&catch&(JSONException&je)&{
&&&&&&&&&&&&return&Response.error(new&ParseError(je));
&&&&@Override
&&&&protected&void&deliverResponse(JSONObject&response)&{
&&&&&&&&mListener.onResponse(response);
} 接下来的调用方式和前面差不多,生成一个Request实例,加入队列中即可.
RequestQueue&requestQueue&=&Volley.newRequestQueue(getApplicationContext());
Request&JSONObject&&request&=&new&NormalPostRequest(httpurl,
&&&&new&Response.Listener&JSONObject&()&{
&&&&&&&&@Override
&&&&&&&&public&void&onResponse(JSONObject&response)&{
&&&&&&&&&&&&Log.d(TAG,&"response&-&&"&+&response.toString());
&&&&},&new&Response.ErrorListener()&{
&&&&&&&&@Override
&&&&&&&&public&void&onErrorResponse(VolleyError&error)&{
&&&&&&&&&&&&Log.e(TAG,&error.getMessage(),&error);
&&&&},&params);
requestQueue.add(request); 以上代码在android 4.3环境下测试通过.
相关资讯  — 
相关文档  — 
发布时间: 17:44:12
同类热门经验
39982次浏览
108446次浏览
27424次浏览
69576次浏览
36974次浏览
OPEN-OPEN, all rights reserved.Volley主页&
1. 什么是Volley
在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
这是Volley名称的由来: a burst or emission of many things or a large amount at once
在Google IO的演讲上,其配图是一幅发射火弓箭的图,有点类似流星。见下图
其实,从这幅图,我们也可以看出来,Volley特别适合数据量不大但是通信频繁的场景。
1.1. Volley引入的背景
在以前,我们可能面临如下很多麻烦的问题。
比如以前从网上下载图片的步骤可能是这样的流程:
在ListAdapter#getView()里开始图像的读取。
通过AsyncTask等机制使用HttpURLConnection从服务器去的图片资源
在AsyncTask#onPostExecute()里设置相应ImageView的属性。
而在Volley下,只需要一个函数即可,详细见后面的例子。
再比如,屏幕旋转的时候,有时候会导致再次从网络取得数据。为了避免这种不必要的网络访问,我们可能需要自己写很多针对各种情况的处理,比如cache什么的。
再有,比如ListView的时候,我们滚动过快,可能导致有些网络请求返回的时候,早已经滚过了当时的位置,根本没必要显示在list里了,虽然我们可以通过ViewHolder来保持url等来实现防止两次取得,但是那些已经没有必须要的数据,还是会浪费系统的各种资源。
1.2. Volley提供的功能
简单来说,它提供了如下的便利功能:
JSON,图像等的异步下载;
网络请求的排序(scheduling)
网络请求的优先级处理
多级别取消请求
和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)
2. 使用前的准备
引入Volley非常简单,首先,从git库先克隆一个下来:
git&clone&https:&&
然后编译为jar包,再在自己的工程里import进来。
注意,这个库要求最低SDK版本为Froyo,即至少要设置android:minSdkVersion为8以上。
3.使用例子
下面简单看看如何使用Volley
3.1. 最简单的get请求
这个例子很简单,从网络取得JSON对象,然后打印出来。
mQueue&=&Volley.newRequestQueue(getApplicationContext());&&mQueue.add(new&JsonObjectRequest(Method.GET,&url,&null,&&&&&&&&&&&&&&new&Listener()&{&&&&&&&&&&&&&&&&&&@Override&&&&&&&&&&&&&&&&&&public&void&onResponse(JSONObject&response)&{&&&&&&&&&&&&&&&&&&&&&&Log.d(TAG,&&response&:&&&+&response.toString());&&&&&&&&&&&&&&&&&&}&&&&&&&&&&&&&&},&null));&&mQueue.start();&&
mQueue = Volley.newRequestQueue(getApplicationContext());
mQueue.add(new JsonObjectRequest(Method.GET, url, null,
new Listener() {
public void onResponse(JSONObject response) {
Log.d(TAG, &response : & + response.toString());
}, null));
mQueue.start();
3.2. 给ImageView设置图片源
&&&&&&ImageListener&listener&=&ImageLoader.getImageListener(imageView,&android.R.drawable.ic_menu_rotate,&android.R.drawable.ic_delete);&&mImageLoader.get(url,&listener);&&
// imageView是一个ImageView实例
// ImageLoader.getImageListener的第二个参数是默认的图片resource id
// 第三个参数是请求失败时候的资源id,可以指定为0
ImageListener listener = ImageLoader.getImageListener(imageView, android.R.drawable.ic_menu_rotate, android.R.drawable.ic_delete);
mImageLoader.get(url, listener);
ImageLoader的方法都需要从主线程里来调用。
3.3. 使用NetworkImageView
Volley提供了一个新的控件NetworkImageView来代替传统的ImageView,这个控件的图片属性可以通过
mImageView.setImageUrl(url,&imageLoader)&&
mImageView.setImageUrl(url, imageLoader)
来设定。而且,这个控件在被从父控件detach的时候,会自动取消网络请求的,即完全不用我们担心相关网络请求的生命周期问题。
示例代码如下:
mImageLoader&=&new&ImageLoader(mRequestQueue,&new&BitmapLruCache());&&...&...&&&&&if(holder.imageRequest&!=&null)&{&&&&&&holder.imageRequest.cancel();&&}&&holder.imageRequest&=&mImageLoader.get(BASE_UR&+&item.image_url,&holder.imageView,&R.drawable.loading,&R.drawable.error);&&
mImageLoader = new ImageLoader(mRequestQueue, new BitmapLruCache());
if(holder.imageRequest != null) {
holder.imageRequest.cancel();
holder.imageRequest = mImageLoader.get(BASE_UR + item.image_url, holder.imageView, R.drawable.loading, R.drawable.error);
注意,这里使用的不是ImageView控件,而是Volley新提供的com.android.volley.NetworkImageView。
另外,注意这里:
mImageLoader&=&new&ImageLoader(mRequestQueue,&new&BitmapLruCache());&&
mImageLoader = new ImageLoader(mRequestQueue, new BitmapLruCache());
ImageLoader构造函数的第二个参数是一个ImageCache的实例(严格来说,是实现ImageCache接口的某具体类的实例)
ImageCache的定义如下(在ImageLoader.java里):
&&&&&&public&interface&ImageCache&{&&&&&&public&Bitmap&getBitmap(String&url);&&&&&&public&void&putBitmap(String&url,&Bitmap&bitmap);&&}&&
* Simple cache adapter interface. If provided to the ImageLoader, it
* will be used as an L1 cache before dispatch to Volley. Implementations
* must not block. Implementation with an LruCache is recommended.
public interface ImageCache {
public Bitmap getBitmap(String url);
public void putBitmap(String url, Bitmap bitmap);
下面的网址一个lru的cache实现例子,请参考:
3.5. 使用自己定制的request
我们也可以通过继承Request根据自己的需求来定制自己的request
@Override&&protected&Response&parseNetworkResponse(NetworkResponse&response)&{&&&&&&try&{&&&&&&&&&&String&json&=&new&String(&&&&&&&&&&&&&&&&&&response.data,&HttpHeaderParser.parseCharset(response.headers));&&&&&&&&&&return&Response.success(&&&&&&&&&&&&&&&&&&gson.fromJson(json,&clazz),&HttpHeaderParser.parseCacheHeaders(response));&&&&&&}&catch&(UnsupportedEncodingException&e)&{&&&&&&&&&&return&Response.error(new&ParseError(e));&&&&&&}&catch&(JsonSyntaxException&e)&{&&&&&&&&&&return&Response.error(new&ParseError(e));&&&&&&}&&}&&
protected Response parseNetworkResponse(NetworkResponse response) {
String json = new String(
response.data, HttpHeaderParser.parseCharset(response.headers));
return Response.success(
gson.fromJson(json, clazz), HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (JsonSyntaxException e) {
return Response.error(new ParseError(e));
这段代码节选自:&
里面使用的gson(com.google.gson.Gson)是JSON的序列化和反序列化的库,可以在JSON和java model object之间进行转换。
以下是使用自定制request的例子:
mRequestQueue.add(&new&GsonRequest(url,&ListResponse.class,&null,&&&&&&new&Listener()&{&&&&&&&&&&public&void&onResponse(ListResponse&response)&{&&&&&&&&&&&&&&appendItemsToList(response.item);&&&&&&&&&&&&&&notifyDataSetChanged();&&&&&&&&&&}&&&&&&}&&}&&
mRequestQueue.add( new GsonRequest(url, ListResponse.class, null,
new Listener() {
public void onResponse(ListResponse response) {
appendItemsToList(response.item);
notifyDataSetChanged();
4. Volley的架构设计
Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程。
主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题。如下图:
如果在一个Activity里面启动了网络请求,而在这个网络请求还没返回结果的时候,如果Activity被结束了,则我们需要写如下代码作为防守:
@Override&public&void&onPostExecute(Result&r)&{&&&&&&if&(getActivity()&==&null)&{&&&&&&&&&&return;&&&&&&}&&&&&&&&}&&
@Override public void onPostExecute(Result r) {
if (getActivity() == null) {
Activity被终止之后,如果继续使用其中的Context等,除了无辜的浪费CPU,电池,网络等资源,有可能还会导致程序crash,所以,我们需要处理这种一场情况。
使用Volley的话,我们可以在Activity停止的时候,同时取消所有或部分未完成的网络请求。
Volley里所有的请求结果会返回给主进程,如果在主进程里取消了某些请求,则这些请求将不会被返回给主线程。
比如,可以针对某些个request做取消操作:
@Override&&public&void&onStop()&{&&&&&&for&(Request&&?&&req&:&mInFlightRequests)&{&&&&&&&&&&req.cancel();&&&&&&}&&&&&&...&&}&&
public void onStop() {
for (Request &?& req : mInFlightRequests) {
req.cancel();
或者,取消这个队列里的所有请求:
@Override&pubic&void&onStop()&{&&&&&&mRequestQueue.cancelAll(this);&&&&&&...&&}&&
@Override pubic void onStop() {
mRequestQueue.cancelAll(this);
也可以根据RequestFilter或者Tag来终止某些请求:
@Override&public&void&onStop()&{&&&&&&mRequestQueue.cancelAll(&new&RequestFilter()&{})&&&&&&...&&&&&&&&&&&&mRequestQueue.cancelAll(new&Object());&&&&&&...&&
@Override public void onStop() {
mRequestQueue.cancelAll( new RequestFilter() {})
mRequestQueue.cancelAll(new Object());
从演讲的例子来看,Volley应该是简化了网络通信的一些开发,特别是针对如下两种情况:
但是这个东西也有不实用的地方,比如大数据(large payloads ),流媒体,这些case,还需要使用原始的方法,比如Download Manager等。
总之,如果你要编写网络程序,是不是可以考虑开始使用Volley呢?
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20470次
排名:千里之外
原创:23篇
转载:22篇
(1)(3)(3)(3)(1)(5)(1)(1)(6)(3)(1)(1)(1)(15)如何用GOOGLE查找潜在客人的邮箱地址及其联系方式? - Google外贸应用 - 电商营销 -
福步外贸论坛(FOB Business Forum) |中国第一外贸论坛
& 如何用GOOGLE查找潜在客人的邮箱地址及其联系方式?
UID 1671210
阅读权限 25
如何用GOOGLE查找潜在客人的邮箱地址及其联系方式?
很多国家的买家都用一些公共邮箱系统,如印度的 那这时我们就可以连同”@“标志和你要找的商品名称写到 搜索栏。幸运的话你会找到很多买家,少的也能有一两个。举例:比如我要找手机的印度的买家,就可以这样:在 输入@ mobile.就可以了公共邮箱很多,我想大家更多的是要靠自己总结。通过别人说的几点小技巧,自己能把他外延到很广。印度的@ 巴基斯坦的@cyber.net.pk 阿曼的@omantel.net.om 意大利的@libero.it 南非的@webmail.co.za 新西兰的@xtra.co.nz 新加坡的@pacific.net.sg 当然其实最常用的还是@,@,@,@
2、还有就是任何商品都有名牌企业,尤其五百强的,这时候你可以搜索他的Distributor或输入Dealer等。一般五百强或是名牌企业都会把他们的世界的分销商写在自己的网站上。
3、一般买家也会在一些商务网注册,这时把他的公司名称或邮箱输入GOOGLE。一般会出来他在那些网站注册过。打开哪个网,于是你又发现许多大鱼等着你。
4、一般每个国家都会有本国的著名搜索引擎。这是你要搜索各国语言描述你所卖的产品的单词,然后输入搜索。你会发现很多大买家。如德国的Fireball.de. 世界各国本地搜索引擎集锦
用这些各国本地搜索引擎,再用多国语言翻译软件翻译成当地语言关键字去搜索,什么都能找到。
5》一般每个国家的公司名称后缀都不一样,如中国习惯的是Co., LTD那就找其他过家习惯什么。如美国习惯INC; LLC等,意大利习惯S.R.L; 西班牙习惯S.P.A.然后把产品名称,或产品属于哪个大范围名称输进去,一般也会出现闪光客户。
6》搜索本行业的展会,当然大家都知道这一点。在这里我指的不是很出名的展会,因为出名的大家都知道了,都去抢了。要搜索地区性的,如在欧洲很有名,但并没影响到世界,这样的展会也有很多大买家。方法就是输入产品大类名称,在加上 show, or fair. 等词。找到他们的网站后,一般都会有展商列表,直接copy在拈切google接着找邮箱,有的甚至也把自己的邮箱放上去了,也就省了很多力气了。
7》各国的黄页商务网,这大家又都知道。。关键是要挑精品。很多垃圾黄页,许多总结此类内容的同志。总是列举一堆,好坏都有,有的甚至都打不开网站。很费神。在这个我写几个很不错的,相信有一些大家都知道了。但方法是循环使用的,比如在黄页里找到了客户,你又可以用上几条我说的方法,把客户公司名称放到 GOOGLE在搜索,又会出来惊喜。 a:
很不错的巴基斯坦黄页,有实在客户。打开后点business catalogue,进入后就输入产品名称搜索。会出来很多客户,这些客户要耐心的一个一个去点击查询,有很多有邮箱。当然没邮箱的也可把他们公司名称输入GOOGLE在搜索。 b: c. d. e. 不错的黄页 f. 西班牙引擎 g.阿拉伯引擎 h. 瑞典引擎 i. 以美国为重点辐射部分国家引擎 j. 比利时
8》有的网站只有提交表单没邮箱,,没关系。只要输入 email. 有的就会出来,如果不行的话,就把WWW。扔掉用. email 搜索,因为有时很奇怪,凭我的经验没有www.搜出的东西更多。
9》关键词,一个产品可能可以套用很多关键词,比产品是PROJECTOR,他又属于AV系列又可以叫ELECTRONICS还可以归为HOME CINEMA 或HOME THEATRE 你用不同的关键词搜就可以出来许多不同公司。 等到这些用的差不多了,然后在套用之前说的,在关键词的后面加公司后缀,如。 中国的是CO。, LTD, 德国的是GMBH 等等,你又可以找到N多。或者干脆写上av.com因为这个行业很多公司都习惯用AV。COM结尾做网站,然后会找到N多包含AV。COM的公司。
10》 其实还可以上,等等,上不同国家的网站再进行搜索,结果更精确!
11》google搜索引擎里搜索产品名称+importers 产品名称+distributors 产品名称+wholesaler 产品名称+buyer 产品名称+supplier
12》GOOGLE上面的绝招,很简单 capacitor trade email -capacitor-trade-email 这个的意思是: 电容,贸易 邮件, 而-电容-贸易-邮件 就是不包括电容,贸易,邮件,需要三者同时出现才会被搜索出来,这样结果就会很精简,一般都是相关的东西,不会出现新闻或一些你不希望搜索到的,如果你想出口到美国, 你可以加一个USA ,这样就会带USA的了,需要说明的就是- 最好不要超过三个
1、产品名(Products name)+公共邮箱名后缀
1)产品+通用邮箱后缀
如:ball valve @,
ball valve @,
ball valve @,
ball valve @
2)产品+Yahoo各国邮箱后缀:@yahoo.co.jp,@.cn, 如在 输入“ball valve @yahoo.co.jp”或“ボールバルブメール”(ball valve email)
产品+Live各国邮箱后缀,@ 如在输入&球阀email&
3) Google各国的版本搜索,譬如输入&球阀Email&
4)产品名称+importers+email
产品名称+distributors+email
产品名称+wholesaler+email
产品名称+buyer+email
产品名称+supplier+email
email还可用@代替
5)产品+地区公共邮箱后缀 或“ 产品+buy+地区邮箱”
美国:@netzero.net,@,@comcast.net,@warwick.net,@comcast.net,@cs.com,@verizon.
德国 @t-online.de,@multi-industrie.
法国:@wannado.fr,@,@,@club-internet.
日本 @yahoo.co.jp,@candel.co.
英国 @cwgsy.net,@,@sltnet.
印度 @wilnetonline.net @cal3.vsnl.net.in @ @sancharnet.in @ @del3.vsnl.net.in
新西兰 @xtra.co.nz
俄罗斯 @yandex.ru @mail.ru
德国 @t-online.de @multi-industrie.de
香港 @ @ @ @ @ @ @.hk @.hk
台湾省 @seed.net.tw @.tw @.tw
新加坡 @pacific.net.sg
以色列:@netvision.net.il;@candel.co.jp;@xx.org.il @zahav.net.il @fastmail.fm
赞比亚:@zamnet.zm
阿根廷:@. @.ar
马其顿:@mt.net.mk
几内亚:@sotelgui.net.gn
墨西哥:@prodigy.net.mx
法国:@wannado.fr @ @ @club-internet.fr
津巴布韦:@africaonline.co.zw;@samara.co.zw;@zol.co.zw;@mweb.co.zw
科特迪瓦:@aviso.ci;@africaonline.co.ci;@afnet.net
纳米比亚:@mti.gov.na;@;@iway.na;@
尼泊尔:@.np;@.np;@ntc.net.np
蒙古:@mongol.
汤加:@kalianet.
阿塞拜疆:@mail.ru
日本 @yahoo.co.jp @candel.co.jp
阿曼 @omantel.net.om
南非 @webmail.co.za @vodamail.co.za @
爱尔兰 @indigo.ie @eircom.net
沙特阿拉伯 @nesma.net.sa
瑞典 @caron.se
希腊 @spark.net.gr @otenet.gr
澳大利亚 @ @.all @cairns.net.au @.au @eunet.at
卡塔尔 @qatar.net.qa
英国 @cwgsy.net @ @sltnet.lk
加拿大 @ @source**
马来西亚 @tm.net.my
韩国的 @/net @ @daum.net(hanmail.net) @kornet.net @ @ @ @yahoo.co.kr
巴基斯坦 : @cyber.net.pk @wilnetonline.net @cal3.vsnl.net.in @ @sancharnet.in @ndf.vsnl.net.in @del3.vsnl.net.in
阿拉伯联合酋长国 @emirates.net.ae
科威特:@qualitynet.net
越南:@hn.vnn.vn @hcm.fpt.vn @hcm.vnn.vn
孟加拉:@citechco.net
意大利:@xxx.meh.es @terra.es @libero.it
科特迪瓦:@aviso.ci @africaonline.co.ci @afnet.net
纳米比亚:@mti.gov.na @ @iway.na @
阿塞拜疆:@mail.ru
印尼:@dnet.net.id
巴西:@sinos.net
联合国:@sbcglobal.net @
日耳曼:@tiscali.co.uk
奥地利:@eunet.at
波兰:@ @poczta.onet.pl
其他国家的公共EMAIL后缀可以通过自己的客户EMAIL后缀或者在Google搜索 &国家名称+email&,
2、B2B采购信息+email到Google搜索
一般B2B都有公布采购信息的部分信息,如公司名称,地址等,要想获得此公司的EMAIL可采取在Google搜索此买家的&电话+EMAIL&,&公司名称+Email&等等
3、公司名称后缀+产品名称+EMAIL
中国的是Co., LTD,美国是INC; LLC等,意大利是S.R.L; 西班牙是S.P.A.等等
4、展会搜索展商EMAIL
先通过Google搜索展览会,找出展商列表,再到Google搜索展商名称+EMAIL
5、行业品牌的distributor或dealer的EMAIL搜索
6、用alexa找出跟行业品牌链接的网站
在Alexa的Trafic ranking里输入 可以找出的related link网站,这些公司的EMAIL找出来,是否有商机呢?
7、世界各地的协会/工会网站找出协会会员,再到Google搜索EMAIL。
8、除了,还可以用以上的方法到Google世界各地的版本去搜索
9、各地的搜索引擎、B2B、黄页、目录指南、用以上的方法搜索EMAIL
最后如果你已经知道某个企业却不知道他的EMAIL,很简单&电话+email&,“人名+email”,“公司名称+email”等等
第一类:搜索引擎
方法1:Importers方法
操作方法:在Google中输入产品名称+importers。
例如:MP3 player+importers
小技巧:可以用importer替代importers
还可以在GOOGLE在不同的国家搜。例如。
方法2 关键词上加引号
操作方法:搜索“产品名称 importer”或者“产品名称 importers”,在键入时将引号一起输入。
方法3 Distributor方法
操作方法:搜索产品名称+ Distributor
方法4 其他类型目标客户搜索
操作方法:产品名称+其他客户类型(相关目标客户的词语除了importer,distributor,还包括buyer,company,wholesaler,retailer,supplier,vendor及其复数形式。)
方法5 Price 方法
操作方法:搜索Price+产品名称
方法6 buy方法
操作方法:搜索buy+产品名称
方法7 国家名称限制方法
操作方法:在前面6种方法的基础上加入国家名称限制
方法8 关联产品法
操作方法:产品名称+关联产品名称
方法9 market research方法
操作方法:产品名称+market research
方法10 著名买家法
操作方法:产品名称+你的行业里面著名买家的公司简称或者全称
方法11 观察搜索引擎右侧广告
操作方法:搜索产品名称后,查看搜索结果右侧广告
方法12 寻找行业展览网站
注:时间问题,部分小技巧省略
某些方法是要部分财力投入的,对我们这些中小企业来说,可以从免费入手,一步步来发展
第二类 高级搜索引擎
方法13 高级搜索的title方法
操作方法:使用google高级搜索功能的Allintitle功能,搜索上述各个项目的关键词一般来说,前面介绍的12种方法使用title方法后,都能够加强结果的准确性和买家信息的相关性。
方法14 寻找有连接到大客户网站的网页
操作方法:使用google查找大客户网站的连接
这种方法查找出来的连入网页主要有如下情况:该页面有该客户的广告、该页面推荐了该客户、该页面谈论到了该客户
方法15 寻找有引用大客户网址的网页
操作方法:同上述方法,只是查找的是引用客户网址的页面,而不是连入页面
UID 1671210
阅读权限 25
方法16 网址包括大客户公司名
操作方法:使用google高级搜索功能,输入大客户名称,在字体位置选择“网页内的网址”搜索
方法17 多种语言方法
操作方法:搜索关键词的其他语言书写
方法18 专业文档方法
搜索引擎还提供类似PPT、PDF、word、excel文档的高级搜索功能。
第三类 专业网站类
方法19 网址目录方法
注重在网络上宣传自己的公司往往会将自己登陆到YAHOO和DMOZ.org这两个世界最有名的网址目录中
方法20 企业名录网站方法
全球有一些专门提供买家名录的公司和网站。
最为有名和受市场好评
方法21 进口商与分销商名录网站方法
一方面可以请同事、业内朋友推荐,另一方面也可以通过互联网查询。这里推荐的方法是:搜索 importers directory 和distributors directory
方法22 行业网站方法
到YAHOO、GOOGLE和DMOZ对应的行业目录中查找使用GOOGLE高级搜索中的标题搜索,搜索行业名称+industry(net、online,portal)使用GOOGLE搜索引擎查找某著名行业网站的反连接,一般来讲,会发现很多其他行业网站
方法23 综合商贸网站方法
方法24 黄页网站查找方法
第四类 政府与机构类网站
方法25 商务部世界买家网
这里介绍中国中国商务部世界买家网:http:win.
方法26 商务部驻外机构
方法27 进出口协会会者商会
方法28 各国行业协会
在搜索引擎中搜索行业名称+Association
第五类 其他方法
方法29 行业巨头渠道
方法30:Alexa工具篇
当你获知了很多行业网站、贸易网站或者其他类型网站的信息后,可以通过ALEXA
对这些网站的流量检测计算出的排名
方法31:海关数据
比较昂贵,是出口营销各种数据名录的首先资料。
目前市场上主要提供中国、美国、英国、印度、韩国、阿根廷、智利、秘鲁、乌拉圭等国家海关数据库。
收集的可免费使用的相关网站有:
由加拿大海关和财政总署提供的进口商免费查询数据库:
http://strategis.ic.gc.ca/sc_mrkti/cid/engdoc/
免费的新西兰进出口商名录。
有35606个出口商40147 进口商可供查询:
www.nzimporters.co.nz
波兰最大的免费在线进出口名录: www.bmb.pl
收费的有:
我国海关进出口详细数据:
.hk 中国的海关出口数据中只能提供出口商及进口国信息,要得到进口商信息只有利用国外的海关数据库。
提供国外海关数据或提单的国内机构在一些发达城市也有。
无锡这边就有一家上海的分公司专业提供北美为核心的提单形式的进口商资料。
海关数据的作用分析:
比较全面地掌握某地区的买家资源,监测老客户,开发新客户;掌握竞争对手分布,监控其经营状况,帮助企业对相应产品有一个直观的价格判断;分析买家采购行为,针对性地开发潜在客户。了解市场需求量,同行销售情形,货品淡旺季以及买家采购周期分析。
方法32:包括“世界进口商信息查询卡”在内的商务部全部服务项目
方法33:外汇、交单的银行记录、报关公司的记录、货代的单据、海关数据及提单等中存在的大量进口商信息。
就看您能否收集到这些数据了。从走国际快递的公司他们那里也可以收集到很多进口商联系信息。
如果有熟人朋友的话,采集这些数据就要容易点。或者花少量的钱去购买,如果广布采购网从事这件事,会收集到很多很多的数据。请银行介绍客户是很不错的法子。在欧盟,已有银行已代替海关提供进口商数据的现象。
事实上,大家可以从下面渠道找到资料:
1.国际性的物流公司
3.快递公司(UPS,TNT等)。
如果有熟人在上述公司,有可能拿到客户资料。
方法34:国际招标投标信息
国内有国际招标信息的网站:
中国政府采购: http://www./
中国采购与招标网: .cn/
中国国际招标网: /
国外机构:澳大利亚政府招标系统: https://www.tenders.gov.au/
澳大利亚电子招标采购系统: http://www.tender.net.au/
来自158个国家的发展机构和政府发布的42457项投标采购机会: /
Sell2arabia( / ):提供给用户在阿拉伯地区做生意的有关商业信息。用户注册为会员后,就好比在中东有了自己的办公室,通过阿拉伯实时项目与招标数据库,能够获得最新的招标、求购、工程项目和贸易信息。
香港电子招标系统: .hk/
Tenders:[网址见材料]站点每日有超过5000项采购消息更新,丰富及时的信息资源蕴涵着巨大商机,由于是买方市场站点,因此少了很多无效信息和广告
联合国中国最新采购和招标信息: http://www./
2005年的采购和招标信息量到目前已有28109条。
阿拉伯市场招标数据库:
这些招标信息网站信息内容基本上是免费享用的。
其它好站等着各位自己去发现。网络上有着很多很多的商机,虽然可直接利用的有价值的信息大部分是需付费的,但可免费使用的也有不少的,就看各位找的本领了。
方法35:第三方机构提供的数据、名录
专业的信息公司、经贸咨讯机构、国际性的行业信息情报机构、市场研究机构等提供的行业公司目录、区域公司目录、进口商数据库等以光盘、书籍、在线购买使用等形式出售。
这样的机构很的。
比如,国贸资讯( .cn )上提供驻华采购商数据库、外商驻华代表机构数据库打开这个网址,点击“数据库服务”就看到了。注册一个免费会员就可以搜索一下有无某种产品的外商驻华采购机构,有的话,查一条信息只要几元钱。不过在搜索时要注意灵活使用关键词,一方面注意尝试使用产品的其它名字来组合查询,另一方面买也有几种说法:采购,求购,购买,进口等。再试试英文,用buy, purchase, import,need等词组合产品的不同名称来充分查找。
这个网上还提供进口商、批发商数据等服务。
打开这个网址:
.cn/cn/book/book.asp 里面介绍了一些重要的服务:《日本市场通览》《通向丹麦经贸之桥》这两本书是欲开发这两个国家市场的极具价值的用书;还有美国进口商名录光盘,可分类购买,每一类是RMB290元,等等。
这个网站还提供其它不少服务,申请一个免费会员可利用的服务也不少。国外的这样的网站很多,下文的各搜索方法下会出现这样的网站。
方法36:网站推广
1、新建一个网站,或者更新已有网站,增加常见问题问答,客户合作照片,推出新品、参加展览等公司新闻,体现公司专业性、成熟性,从而增加公司网站的吸引力。
2、实行会员制,当浏览者注册会员后,可以给他们发最新产品信息。
这里讲的是一些增加企业网站被关键词型搜索引擎搜索到的机会的最基础做法。对于以下做法也可以让公司的网管或者网页制作公司人员帮忙。
1)把网页的标题添加进HTML代码。网页的标题就是网页的名字,一般为公司的名字。一般的网站都是使用FrontPage做的,点击查看HTML编码,找到“”将网页名字添加到两个title之间,保存一下即可。几乎所有的搜索引擎都把网页的标题作为第一搜索要素,如果搜索引擎搜索到该网页时,在搜索结果中显示的网站名就是此标题。
2)将网站的关键词添加到HTML代码中。当浏览者使用与这样的关键词搜索时,搜索引擎能够搜索到此网页。编写以下代码:,在FrontPage中,将以上代码添加到HTML代码前部的中间。注意把键词按重要程度依次排列。
3)将网站的描述添加进HTML代码中。网页的描述是提供给浏览者对网站初步了解的信息。譬如:中国XX产品制造厂家,生产和销售XX、XX型号的XX产品。编写代码如下:。果搜索引擎搜索到该网页时,在搜索结果列表中显示该描述,它也会对提高被搜索引擎搜索到的机会产生重要的影响。
4)把网站登录进YAHOO
5)登录搜索引擎国内的;著名英文搜索引擎;目标市场国家的搜索引擎。
6)和相关网站交换链接。
可交换链接的网站有如下几类:
a.与你公司产品应用于同一行业或者说是同一系列下的其它产品或与你公司产品互补的产品的公司网站。
例如,你公司生产汽车用轮胎,则可以选择一些其它汽车部件生产商的网站交换链接。
因对他们的产品有兴趣的浏览者也很有可能对你们的产品感兴趣,进而点击链接浏览你们的网站。
b.B2B或行业网站类。
c.RP值高的网站。有些搜索引擎会顺着这些RP高的网站光顾你的网站。交换链接要考虑双方的访问量大致相等,双方放置链接图标的位置基本一致。否则只有考虑付费给优势方了。
7)注册黄页、企业名录、B2B、行业网站。
8)利用传统的媒体。
产品目录——注意外观、内容的有序性、细致性等方面,精益求精,争取不比同行的目录差。
展览会纪念品,利用这些机会把网址留给新老客户。
方法37:邮件群发专家
可以使用一些邮件地址抓取器从一些专业的论坛上抓取一些email地址,然后再利用邮件群发软件发送邮件。
email地址抓取软件推荐advanced email extractor.最新版为7.26版。
不过我不到破解版。
如果是1.3版,SN:AEE-2793459-UKXENYCTYCGQ邮件群发软件推荐 VolleyMail邮件群发专家。
方法38:论坛法
到国外的专业论坛去,把自己包装成专家,积极发帖(非广告),签名档使用有关自己业务的地址。这种方法可能有奇效。
值得推荐的网络营销网址
1、网络营销技术类网站
查网站访问量排名
网站信息分析(输入网址使用)
SEO(搜索引擎优化)研究
www.google-pagerank.net Google 排名
2、外贸政策法规类
www. 中华人民共和国商务部
www. 国家外汇管理局
www. 中华人民共和国海关总署
www. 中华人民共和国国家质量监督检验检疫总局
http://www.广告/hangye/gedizhengfu.htm 中国政府网站
3、权威财经类
.tw 商业周刊
/gb/index.asp 华尔街日报(中文版)
www.dw-world.de 德国之声(中文版)
.cn 每日经济新闻
金融时报(中文版)
4、全球最出名的搜索引擎:
欧洲各国的搜索引擎: http://www.广告/hangye/ouzhou-search.htm
亚洲各国搜索引擎: http://www.广告/hangye/yazhou-search.htm
美洲各国搜索引擎:http://www.广告/hangye/meizhou-search.htm
非洲各国搜索引擎: http://www.广告/hangye/feizhou-yellowpages.htm
大洋州各国搜索引擎:http://www.广告/hangye/dayangzhou-search.htm
5、企业信用评估类
D&B 邓白氏
.cn 中国出口保险公司
6、最好的网络营销资源整合类: www.广告
7、综合B2B类精选:
世界最好的B2B网站集:http://www.广告/hangye/zuihao广告htm
8、黄页网站:
亚洲各国黄页 http://www.广告/hangye/yazhou-yellowpages.htm
欧洲各国黄页 http://www.广告/hangye/ouzhou-yellowpages.htm
美洲各国黄页 http://www.广告/hangye/meizhou-yellowpages.htm
非洲各国黄页 http://www.广告/hangye/feizhou-yellowpages.htm
大洋洲各国黄页 http://www.广告/hangye/dayangzhou-yellowpages.htm
方法39:换位思考法:
买家买完东西,往往是要再次销售,你把自己想象成该国的下一层经销商,你怎么找到第一手卖家。这同时也是你需要的买家
方法40:撒网法:
到若干个国际B2B网站上去发布信息。
不过这种效果有限。
而且需要特别指出的是,每一个帖子都要做纪录,另外每隔三两天就要更新一次使得买家有机会可以看到你的信息
方法41:特殊证书法:
如果进口某类产品需要特别的证书,比如美国进口烟火是不是需要什么许可吗?
是哪个国家机关或者组织发布的,可以在上面找.
方法42:网页实时交流法:
如果外贸公司的主页设一个小窗口,浏览者可以和管理员在线上实时交流。这个技术上是可以实现的。
方法43:询价帖法:
把从A网站看到的询价帖(看不到买家,只能看到询价内容,或者只能看到买家的名字)中的一些关键字抓出来在搜索引擎上找,找到B或C或D网站上完整的内容。这种成功率约50%
UID 1565033
阅读权限 25
thanks for ur sharing..
UID 1693005
阅读权限 40
非常有用,谢谢楼主
UID 1706222
阅读权限 25
来自 Shijiazhuang,China
this article is so comprehensive . it is very useful , i like it !
UID 1699113
阅读权限 25
这写的也忒多了吧.....谁能一口气全看了啊
UID 1439009
阅读权限 25
很强大&&总结很全面,谢谢分享
UID 1719860
阅读权限 40
非常感谢,很受用!
UID 374421
福步币 54 块
阅读权限 40
非常的感谢啊。。可以尝试很久了
UID 1671210
阅读权限 25
法文,法国,搜索引擎,http,法语
为了方便大家搜索到法国的潜伏客户,我把一些比较流行的法国本地搜索引擎整理如下: 1.
这个网站是法国人比较常用的本地搜索引擎,搜索结果主要来自各***文搜索引擎(如法文MSN,法文Yahoo,法文Google以及其他一些小型的法文搜索引擎),因此它的优点就是信息量比较大,缺点就是搜索结果可能比较杂乱。 2.
只是法国人常用的门户网站之一,就类似于国内的搜狐和新浪的性质,搜索功能算不上很强,但搜索结果都是以法国本地的信息为主。 3.
这个是欧洲著名门户网站Lycos的法文版本,性质和功能都是voila.fr类似。 4.
著名贸易搜素引擎Kompass(中文一般译为康帕斯)的法文版本,对Kompass大家估计都有一定了解了,需要指出的是Kompass公司的总部是设在法国的,这也就意味着该搜索引擎上的法国工商企业联系方式会比较具体和齐全。 5.
著名的行业搜索引擎Direct Industry的法文版本,性质和功能都和法文版Kompass类似。 6.
Google法文版,可以说Google和Yahoo已经把各国的本地搜索引擎市场也占领了,所以最好的本地搜索引擎永远是它们两个。小窍门:在使用法文Google搜索时可以选择Pages : France这个选项,也就是指只搜索法国当地网页的意思。 7.
Yahoo法文版,是Google法文版的主要竞争对手。小提示:使用法国当地的搜索引擎当然要先把产品的英文关键词翻译为法语词汇再拿来搜索,这里推荐几个翻译用的网站:
:非常方便的翻译网站,提供英法;英德等语种的互译。
:和上面这个网站类似,不过界面不是很简洁。 Google语言工具 :使用率最高的翻译工具之一好啦就这么多吧!大家看看吧
文章来自: 外贸业务员() 详文参考:
UID 1713145
阅读权限 40
跟真经一样 ,先收藏 了&&啊 。。。。。。。。。嘎嘎
UID 1134279
福步币 52 块
阅读权限 40
楼主是个好人!收藏下好好研究研究!
UID 1210313
阅读权限 25
楼主太好了,好人啊!!!!!!!!!!!
福步币 12 块
阅读权限 25
太给力了,楼主强大
UID 1647941
阅读权限 25
这么好的文章怎么这么少人顶啊,看不下去了
当前时区 GMT+8, 现在时间是
Powered by D1scuz! && 2001-}

我要回帖

更多关于 volley header 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信