当前位置:首页 » 编程语言 » java发送请求

java发送请求

发布时间: 2023-02-26 07:27:13

java发送http请求500异常

是你请求的那个url服务出问题了 正常返回200状态码 但是服务返回500,请求的服务发生异常。去看看调用服务的日志

Ⅱ 如何使用java发送post请求

/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = "";
try {
URL realUrl = new URL(url);
// 打开和URL之间的连接
URLConnection conn = realUrl.openConnection();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发送请求参数
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("发送 POST 请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOException ex){
ex.printStackTrace();
}
}
return result;
}

Ⅲ Java发送get请求时设置ua

HttpClient方式发送请求或则以流的方式。
两种实现方式不同,怎么使用看个人喜好,不过在项目开发过程中,使用流的方式部署在预发机linux机器上会出现发送请求返回null的情况,但是本地windows却正常访问,而且,换另外一台预发机也能正常获取数据,目前还没有研究出个所以然,get是从服务器上获取数据,post是向服务器传送数据,get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到,post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。

Ⅳ 如何用java模拟ajax数据发送请求

importorg.apache.commons.httpclient.*;
importorg.apache.commons.httpclient.methods.*;
importorg.apache.commons.httpclient.params.HttpMethodParams;

importjava.io.*;

publicclassHttpClientTutorial{

PRivatestaticStringurl="http://10.129.39.149:8090/Ajax/loginMgt/login.action";

publicstaticvoidmethod(HttpClientclient,Stringurl,Stringbody){
PostMethodmethod=newPostMethod(url);
//"count":10,"ignoreCase":"false","paras":["a%"],"queryId":"getMenu"
NameValuePair[]postData=newNameValuePair[]{};
//postData[0]=newNameValuePair("count",10);
method.setRequestBody(body);//addParameters(postData);


//
/*method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
(3,false));*/

try{
//Executethemethod.
intstatusCode=client.executeMethod(method);

if(statusCode!=HttpStatus.SC_OK){
System.err.println("Methodfailed:"+method.getStatusLine());
}

//Readtheresponsebody.
byte[]responseBody=method.getResponseBody();

//Dealwiththeresponse.
//Usecaution:
System.out.println(newString(responseBody,"utf-8"));
}catch(HttpExceptione){
System.err.println("Fatalprotocolviolation:"+e.getMessage());
e.printStackTrace();
}catch(IOExceptione){
System.err.println("Fataltransporterror:"+e.getMessage());
e.printStackTrace();
}finally{
//Releasetheconnection.
method.releaseConnection();
}
}

publicstaticvoidmain(String[]args){
//CreateaninstanceofHttpClient.
HttpClientclient=newHttpClient();

Stringbody="[{"userId":1,"passWord":1}]";
//Createamethodinstance.
method(client,url,body);

url="http://10.129.39.149:8090/ajax/getInitValueArr.action";

body="[{"count":10,"ignoreCase":"false","paras":["a%"],"queryId":"getMenu"}]";
method(client,url,body);
}
}

Ⅳ JAVA代码发送HTTP请求问题(我想实现和服务器进行一次连接时发送两次请求)

我觉得你这个问题的解决应该是你的程序做一次这个网站的登陆,而且这个登陆的动作应该是需要发生在你这段代码以前,因为你这段代码的动作其实只是访问了一下那个网站,但是没有任何的用户或者是其他的信息。
一般来说你登陆以后,你会获得一个token,用那个token就可以让网站认为你已经登陆,然后改密码什么就好办了。建议你先抓一下IE的包看看是人家的通信是怎么样的,然后用java做就好了。或者是那个网站有开发者文档就最好了。

热点内容
迷人的保姆ftp 发布:2024-05-10 02:05:06 浏览:644
安卓滴滴如何删除行程订单 发布:2024-05-10 01:57:30 浏览:59
桌面默认存储路径怎么改 发布:2024-05-10 01:37:56 浏览:125
数控机器人编程 发布:2024-05-10 01:37:17 浏览:519
长江存储研发 发布:2024-05-10 01:29:19 浏览:686
安卓植物大战僵尸2怎么id登录 发布:2024-05-10 01:17:04 浏览:249
荣耀v8铃声文件夹 发布:2024-05-10 01:11:35 浏览:369
php快速入门及项目实战 发布:2024-05-10 01:00:25 浏览:399
道德编程 发布:2024-05-10 00:31:48 浏览:195
监控配置关联存储服务器 发布:2024-05-09 23:50:34 浏览:271