如何通过抓包工具fiddler获取java程序的http请求

Python015

如何通过抓包工具fiddler获取java程序的http请求,第1张

firefox的fidder插件 Java程序需要设置proxy才能生效:

String url="url address"

Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,new InetSocketAddress("127.0.0.1", 8888))

URL serverUrl = new URL(url)

HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection(proxy)

以下是完整参考代码:

package com.http

import java.io.BufferedReader

import java.io.InputStreamReader

import java.net.HttpURLConnection

import java.net.InetSocketAddress

import java.net.Proxy

import java.net.URL

public class Http302Redirect {

public static void main(String[] args) {

try {

String url = "http 你的地址"

System.out.println("访问地址:" + url)

Proxy proxy = new Proxy(java.net.Proxy.Type.HTTP,

new InetSocketAddress("127.0.0.1", 8888))

URL serverUrl = new URL(url)

HttpURLConnection conn = (HttpURLConnection) serverUrl

.openConnection(proxy)

conn.setRequestMethod("GET")

conn.addRequestProperty("Accept-Charset", "UTF-8")

conn.addRequestProperty("User-Agent",

"Mozilla/5.0 (WindowsUWindows NT 5.1zh-CNrv:1.9.2.8) Firefox/3.6.8")

conn.addRequestProperty("Referer", "http://javaniu.com/")

conn.connect()

BufferedReader reader = new BufferedReader(new InputStreamReader(

conn.getInputStream()))

StringBuffer buffer = new StringBuffer()

String line = reader.readLine()

while (line != null) {

buffer.append(line).append("\r\n")

line = reader.readLine()

}

reader.close()

conn.disconnect()

System.out.println(buffer)

} catch (Exception e) {

e.printStackTrace()

}

}

}

虽然在JDK的java.net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient是ApacheJakartaCommon下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。以下是简单的post例子:Stringurl="bbslogin2.php"PostMethodpostMethod=newPostMethod(url)//填入各个表单域的值NameValuePair[]data={newNameValuePair("id","youUserName"),newNameValuePair("passwd","yourPwd")}//将表单的值放入postMethod中postMethod.setRequestBody(data)//执行postMethodintstatusCode=httpClient.executeMethod(postMethod)//HttpClient对于要求接受后继服务的请求,象POST和PUT等不能自动处理转发//301或者302if(statusCode==HttpStatus.SC_MOVED_PERMANENTLY||statusCode==HttpStatus.SC_MOVED_TEMPORARILY){//从头中取出转向的地址HeaderlocationHeader=postMethod.getResponseHeader("location")Stringlocation=nullif(locationHeader!=null){location=locationHeader.getValue()System.out.println("Thepagewasredirectedto:"+location)}else{System.err.println("Locationfieldvalueisnull.")}return}详情见:/developerworks/cn/opensource/os-httpclient/

这里有一个Java实现的Http请求。

HTTP请求:http://www.sojson.com/blog/123.html

HTTP接口测试工具:http://www.sojson.com/httpRequest/

有问题继续问我!