java HttpClient设置代理的话,用户名和密码怎么设置?

java HttpClient设置代理的话,用户名和密码怎么设置?,第1张

使用代理需要导入:commons-logging-1.1.jar,httpclient-4.0-beta2.jar ,httpcore-4.1-alpha1.jar 和 commons-codec-1.4.jar架包。

在连接代理时需要使用用户名和密码构造UsernamePasswordCredentials对象并作为参数传递给HttpClient对象。

具体用法如下:

public static void main(String args[])

{

 StringBuffer sb = new StringBuffer()

 //创建HttpClient实例

 HttpClient client = getHttpClient()

 //创建httpGet

 HttpGet httpGet = new HttpGet("http://www.csdn.net")

 //执行

 try {

  HttpResponse response = client.execute(httpGet)

  

  HttpEntity entry = response.getEntity()

  

  if(entry != null)

  {

   InputStreamReader is = new InputStreamReader(entry.getContent())

   BufferedReader br = new BufferedReader(is)

   String str = null

   while((str = br.readLine()) != null)

   {

    sb.append(str.trim())

   }

   br.close()

  }

  

 } catch (ClientProtocolException e) {

  // TODO Auto-generated catch block

  e.printStackTrace()

 } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace()

 }

 System.out.println(sb.toString())

}

//设置代理

public static HttpClient getHttpClient() {

 DefaultHttpClient httpClient = new DefaultHttpClient()

 String proxyHost = "proxycn2.huawei.com"

 int proxyPort = 8080

 String userName = "china\\******"

 String password = "*******“

 httpClient.getCredentialsProvider().setCredentials(

   new AuthScope(proxyHost, proxyPort),

   new UsernamePasswordCredentials(userName, password))

 HttpHost proxy = new HttpHost(proxyHost,proxyPort)

 httpClient.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy)

 return httpClient

}

下面是我之前做过的 Get 请求时用的,代理的代码,是可行

var req = WebRequest.Create(url) as HttpWebRequest

// 设置代理

var /w/e/b/P/r/o/x/y = new /W/e/b/P/r/o/x/y(代理 Ip, 代理端口)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/7860504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存