java发送http post请求报文_怎么用java 发送http报文

写出关键的类和方法就行不知道是不是这个?HttpClienthttpClient=newHttpClient();response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");//设置请求地址Po...

写出关键的类和方法就行

不知道是不是这个?

HttpClient httpClient = new HttpClient();

response.setCharacterEncoding("utf-8");

request.setCharacterEncoding("utf-8");

//设置请求地址

PostMethod postMethod = new PostMethod("https://www.umbpay.com/pay2_1_/merAccountCheck.do");

//PostMethod postMethod = new PostMethod("http://localhost:8081/umpay/merAccountCheck.do");

// 设置用户浏览器为MicrosoftIE6.0

postMethod.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");

//设置请求的编码方式

//postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");

//设置请求参数

postMethod.addParameter("merchantId",checkForm.getMerchantId());

postMethod.addParameter("accountId",checkForm.getAccountId());

postMethod.addParameter("currencyType",checkForm.getCurrencyType());

postMethod.addParameter("payBank",checkForm.getPayBank());

postMethod.addParameter("startTime",checkForm.getStartTime());

postMethod.addParameter("endTime",checkForm.getEndTime());

postMethod.addParameter("mac",getSendMac(checkForm));

// 获取执行结果

int status = httpClient.executeMethod(postMethod);

//但是这个是用参数在传,发送报文应该不用参数名吧?

该怎么做?

用http协议来传,不用tcp ip传

是这个:postMethod.setRequestBody(sendStr);

展开

Java 中,我们可以使用 HttpClient 库来发送 HTTP 请求,并使用 HttpPost 类来发送 POST 请求。为了查看 POST 请求报文,我们可以在发送请求之前,将请求体打印出来。示例代码如下: ```java import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class MyHttpClient { public static void main(String[] args) throws IOException { // 创建 HttpClient 实例 CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建 HttpPost 请求 HttpPost httpPost = new HttpPost("http://localhost:8080/myServlet"); // 设置请求httpPost.setHeader("Content-Type", "application/json"); // 设置请求体 String requestBody = "{\"name\":\"Tom\",\"age\":18}"; StringEntity requestEntity = new StringEntity(requestBody); httpPost.setEntity(requestEntity); // 打印请求体 System.out.println("Request Body: " + requestBody); // 发送请求并获取响应 CloseableHttpResponse httpResponse = httpClient.execute(httpPost); // 处理响应 HttpEntity responseEntity = httpResponse.getEntity(); String responseBody = EntityUtils.toString(responseEntity); System.out.println("Response Body: " + responseBody); // 关闭资源 httpResponse.close(); httpClient.close(); } } ``` 上述代码中,我们使用 HttpClient 库创建了一个 HttpClient 实例,并创建了一个 HttpPost 请求。在设置完请求头和请求体之后,我们通过 System.out.println() 函数将请求体打印出来。当我们发送 POST 请求时,控制台会输出请求体,并打印响应体。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值