3、基本的Get和Post访问(含代理请求)
Get方式访问
HttpClient hc = new DefaultHttpClient();
HttpUriRequest request = new HttpGet("http://www.baidu.com?wd=HttpClient");
HttpResponse hr = hc.execute(request);
String body = EntityUtils.toString(hr.getEntity());
System.out.println(body);
Post方式访问
DefaultHttpClient hc = new DefaultHttpClient();
hc.setRedirectStrategy(new LaxRedirectStrategy()); //如果有跳转,就返回跳转后的内容 HttpPost hp = new HttpPost("http://www.baidu.com?wd=HttpClient"); List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("username", "angelshelter"));
params.add(new BasicNameValuePair("keyword", "123")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
hp.setEntity(entity); HttpResponse hr = hc.execute(hp); String body = EntityUtils.toString(hr.getEntity()); System.out.println(body);
Proxy代理访问。
public class Main {
public static void main(String[] args) {
List<Thread> list = new ArrayList<Thread>();
for(int i=0;i<3;i++){
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
try{
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://wxgd.online.atianqi.com:8010/wxgdol/getobjdetail");
//HttpHost proxy = new HttpHost("localhost", 8888);
//RequestConfig config = RequestConfig.custom().setProxy(proxy).build();
//post.setConfig(config);
//HttpHost proxy = new HttpHost("localhost", 8888);
//client.getParams().setParameter(ConnRouteParams.DEFAULT_PROXY, proxy);
//post.setHeader("Content-Type", "application/json;charset=UTF-8");
StringEntity entity = new StringEntity("{\"reqhead\":{\"servicecode\":\"OTTTV\",\"distributor\":\"SNM\",\"clienttype\":\"PC\",\"clientid\":\"JHSG7328f\",\"clientver\":\"1.0.1\",\"devicetype\":\"\",\"clientos\":\"andiod_4.3.1\"},\"reqbody\":{\"objectid\":\"news_1469974\",\"parentcode\":\"x_wx_yj_zy_bd_news\"}}", "utf-8");
post.setEntity(entity);
//使用代理
HttpResponse res = client.execute(post);
System.out.println("#" + EntityUtils.toString(res.getEntity()) + "#");
}catch(Exception e){
e.printStackTrace();
}
}
});
list.add(thread);
}
for(Thread t : list){
t.start();
}
}
}
3、基本的Get和Post访问(含代理请求)的更多相关文章
- 允许asp.net MVC报 错说明: 访问服务此请求所需的资源时出错。服务器可能未配置为访问所请求的 URL。错误消息 401.2。: 未经授权
运行mvc3程序报以下错误 详细报错如下: “/”应用程序中的服务器错误. 访问被拒绝. 说明: 访问服务此请求所需的资源时出错.服务器可能未配置为访问所请求的 URL. 错误消息 401.2.: 未 ...
- 【spring boot】spring boot中使用@RestController不起作用,不返回json,依旧去找访问接口的请求地址对应的页面
问题描述: spring boot中使用@RestController不起作用,不返回json,依旧去找访问接口的请求地址对应的页面 表现结果: 1>使用postman测试接口,表现为返回是40 ...
- requests接口自动化4-登录后才能访问的get请求,需共享cookie
登录后才能访问的get请求,需共享cookie fiddler里请求响应结果: 代码: import requests import json #form表单形式的post请求,用data传参,Con ...
- Vue部署到云服务器时,访问Nginx代理出现We're sorry but books doesn't work properly without JavaScript enabled. Please enable it to continue.
出现这个的原因,我这边的是Nginx的问题,因为没有匹配到静态文件的原因 第一个location是始终将访问的url请求定向到 index.html这个主页面 第二个location块是将index. ...
- google插件跨域含用户请求WebApi解决的方案
问题描述: google插件跨域请求WebApi相关解决方案 1.ajax解决含登录用户信息 $.ajax({ url: url, type: "POST", timeout: 6 ...
- 通过web代理进行跨域访问,http请求返回超时的问题定位
[现象] 在ajax通过web代理跨域访问时,http第一次登陆时正常,但是第二次再下发其他命令的时候总是返回 java.net.SocketTimeoutException: Read timed ...
- 跨域访问 - 跨域请求 同源策略概念对跨域请求的影响 及几种解决跨域请求的方法如 jsonp
为什么会设置同源策略 > 适用于浏览器的一种资源访问策略 > 同源策略(Same origin policy)是一种约定,它是浏览器最核 心也最 基本的安全功能,如果缺少了同源策略,则浏览 ...
- flutter 访问网页+http请求
一.目录 1.访问网页 2.http请求 -----------------------------这是分割线----------------------------- 1.访问网页 基于url_la ...
- mac nginx+php-fpm配置(安装过后nginx后访问php文件下载,访问php文件请求200显示空白页面)
访问php文件下载是因为没配置php-fpm 两个问题主要都是nginx.conf配置的问题: /usr/local/etc/nginx/nginx.conf server { listen 8 ...
随机推荐
- ERROR 1222 (21000): The used SELECT statements have a different number of columns :
转自:https://blog.csdn.net/linshichen/article/details/52484224
- WebRTC内置debug工具,详细参数解读 chrome://webrtc-internals/
为了确保这篇文章所写内容尽可能的准确,我决定请来Philipp Hancke来作为此篇文章的共同作者. 当你想要找到你WebRTC产品中的问题时,webrtc-internals是一个非常棒的工具,因 ...
- getitem, setitem, delitem (把类实例化成字典的类型)
class Foo(object): def __init__(self): self.data = {} def __getitem__(self, key): ...
- webserive学习记录3-eclipse创建webservice
在用J2EE版的ECLIPSE学习WEBSERVICE的时候发现原来直接用该ECLIPSE就可以创建webservice,然后就自己动手用ECLIPSE自带的功能来建立WEBSERVICE服务端和客户 ...
- Haskell语言学习笔记(51)Comonad
Comonad class Functor w => Comonad w where extract :: w a -> a duplicate :: w a -> w (w a) ...
- MySql PartionBy
SELECT tableOld.*, if(@channelName = tableOld.channelName, @rank := @rank + 1, @rank := 1) AS rank, ...
- Linux iptables 备忘
iptables主要通过存储在linux内核中的一个个表来控制IP包的.可以想象成excel表格.你可以自定义所需的iptables表.不过已经内置了三张队列表. filter 这是默认的表,包含了内 ...
- java多线程实例
import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.concurr ...
- 条件语句;for循环 嵌套复习
//打印数字,0,1,8,10,12,每一个数单独占一行 //在全部数字打印完毕之后在打印数字的个数和所有数的和 int count = 0; int sum = 0; for (int i = 0; ...
- Linux Shell中有三种引号的用法
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中 ...