请问你提的java HttpUrlConnection 服务器返回4044后怎么读取正文 这个问题解决了吗?

当前访客身份:游客 [
这个人很懒,啥也没写
:设置了以后反而抓不到呢?
今日访问:26
昨日访问:47
本周访问:146
本月访问:885
所有访问:17940
使用Fiddler监听Java HttpURLConnection请求的小技巧
发表于2年前( 18:18)&&
阅读(2156)&|&评论()
0人收藏此文章,
本文介绍了使用Fiddler监听Java HttpURLConnection请求的小技巧
[参考资料](/tt-0411/archive//2404355.html)
默认情况下Fiddler是不能监听Java HttpURLConnection上的HTTP请求的。原因容易理解,Fiddler能监听浏览器的HTTP请求是因为它启动一个代理服务器,浏览器通过这个代理服务器上网,但HttpURLConnection默认不使用该代理。
Fiddler 官方给出的解决方法是启动Java程序时设置代理,例如:
java -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 Main2
[stackoverflow](/questions/8549749/how-to-capture-https-with-fiddler-in-java)上有人提供了另一种方法:
// set http proxy
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");
// set https proxy
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");
使用以下代码访问 / 测试,以上两种方法都可行
public class Main2 {
public static void main(String[] args) throws Exception {
// set http proxy
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8888");
// set https proxy
System.setProperty("https.proxyHost", "localhost");
System.setProperty("https.proxyPort", "8888");
doRequest();
private static void doRequest() {
HttpURLConnection conn =
URL url = new URL("/");
conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setDoInput(true);
conn.setDoOutput(false);
conn.setRequestMethod("GET"); // 设定请求方式
conn.connect();
InputStream in = conn.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
String line =
while ((line = reader.readLine()) != null) {
// System.out.println(line);
reader.close();
// 判断是否正常响应数据
if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
System.out.println("错误响应码 " + conn.getResponseCode());
} catch (Exception e) {
System.out.println("异常!");
} finally {
if (conn != null) {
conn.disconnect(); // 中断连接
![http_proxy][1]
[1]: http://static.oschina.net/uploads/space/1629_IrlY_578279.png
更多开发者职位上
1)">1)">1" ng-class="{current:{{currentPage==page}}}" ng-repeat="page in pages"><li class='page' ng-if="(endIndex<li class='page next' ng-if="(currentPage
相关文章阅读java http请求时怎么返回错误页面源码 (例如返回404时的页面源码),我的程序遇到这种就报错。_百度知道
java http请求时怎么返回错误页面源码 (例如返回404时的页面源码),我的程序遇到这种就报错。
URL url=new URL(str);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.connect();&#47;&#47;int statecode=connection.getResponseCode();
InputStream inStr = connection.getInputStream();
InputStreamReader istreamReader = new InputStreamReader(inStr);
BufferedReader buf = new BufferedReader旦亥测酵爻寂诧檄超漏(istreamReader);
String content=&&;
while((line=buf.readLine())!=null)
content+=&&#92;n&;
我有更好的答案
用getErrorStream();Sif (connection.getResponseCode() != 200) {
s = new Scanner(connection.getErro旦亥测酵爻寂诧檄超漏rStream());} else {
s = new Scanner(connection.getInputStream());}
;iasdhdkhasgkjlfhkagdfagfdagfdsga
返回整个HTML的文档对象咯,
怎么弄。。
加上try catch 不就不报错了?
我想获得那个报错的页面。。怎么办
唔,还真没干过这事。。。不知道了
其他类似问题
为您推荐:
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁解决Fiddler不能监听Java HttpURLConnection请求的方法
在默认情况下,Fiddler不能监听Java HttpURLConnection请求。究其原因,Java的网络通信协议栈可能的通信协议栈略有区别,Fiddler监听Http请求的原理是在应用程序和操作系统网络通信层之间搭建了一个代理服务器,而Java的HttpURLConnection应该是绕过了这个代理服务器,因此Fiddler无法监听到Java HttpURLConnection请求。
解决Fiddler不能监听Java HttpURLConnection请求的基本思路就是设置代理服务器。
Fiddler官网给出的解决办法(见/fiddler/help/hookup.#Q-Traffic)是设置jvm参数,如
jre -DproxySet=true -DproxyHost=127.0.0.1 -DproxyPort=8888 MyApp
stackoverflow上的牛人们也给出了在Java代码中设置代理服务器的方法(见/questions/8549749/how-to-capture-https-with-fiddler-in-java),如
System.setProperty(&http.proxyHost&, &localhost&);&
System.setProperty(&http.proxyPort&, &8888&);&
System.setProperty(&https.proxyHost&, &localhost&);
System.setProperty(&https.proxyPort&, &8888&);
当然最好还是希望Fiddler自身能过增加监听Java HttpURLConnection请求的能力。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'HttpURLConnection返回400和0。抓包分析高手求指点。。
[问题点数:40分,结帖人Smile__LV]
HttpURLConnection返回400和0。抓包分析高手求指点。。
[问题点数:40分,结帖人Smile__LV]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。java通过平台api接口远程访问对方数据库将返回的json存放到我们库中,HttpURLConnection post传参问题_百度知道
java通过平台api接口远程访问对方数据库将返回的json存放到我们库中,HttpURLConnection post传参问题
?)提示400请求地址无效;.com/zhidao/wh%3D450%2C600/sign=6b3199cac8a/a9d3fd1f4134970affe8c68a96cad1c8a6865df8;description&miss argument route&quot://h://h:false};://h:{&status&quot.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http,post请求访问咕咚数据库并返回json字符串存放到我们库中: 400 for /zhidao/wh%3D600%2C800/sign=344b48f5e92fd/a9d3fd1f4134970affe8c68a96cad1c8a6865df8:&&quot://,但取不到数据:&quot.hiphotos.baidu,(图中注释地方为传参;.hiphotos.codoon.jpg" esrc="http:Server returned HTTP response code.baidu://rs&error&quot.}:&,&/zhidao/pic/item/a9d3fd1f4134970affe8c68a96cad1c8a6865df8;data&quot:{&quot,&quot: <a href="http,在post传参时总是传不过去,&quot,不传参时到可以访问我们需要通过咕咚平台提供的api接口
提问者采纳
有浏览器的工具也可以做这事,你没看到人家 api 写的清清楚楚。先调通了,你写个 html 的表单,再调程序另外,submit 到这个地址看看或者post 的话
token已经获取到啦,我传参有问题吗
但是,400 应该还是 token 的问题啊
提问者评价
其他类似问题
为您推荐:
httpurlconnection的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 服务器返回404 的文章

 

随机推荐