我试图激发一个http post请求,我的问题是我得到了一个NullpointerException,我想我知道在哪里,但我不知道为什么。
代码是
HttpURLConnection connection = null;
try {
URL url = new URL(targetURL);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Length", "" +
Integer.toString(urlParameters.getBytes().length));
connection.setRequestProperty("Content-Language", "en-US");
connection.setUseCaches (false);
connection.setDoInput(true);
connection.setDoOutput(true);
// Send request
DataOutputStream wr = new DataOutputStream (connection.getOutputStream());
wr.writeBytes (urlParameters);
wr.flush();
wr.close();
// Get Response
InputStream is = connection.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer response = new StringBuffer();
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
log.info("Http request response '{}': ",response.toString());
} catch (Exception e) {
log.error("Error while sending http post request.");
e.printStackTrace();
} finally {
if(connection != null) {
connection.disconnect();
}
}
java.lang.NullPointerException
at sun.net.www.ParseUtil.toURI(ParseUtil.java:261)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:905)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)
它位于以下行:DataOutputStream wr=new DataOutputStream(connection.getoutputstream());
问题似乎是建立Http URL连接,但我的目标URL(我想发送请求的URL)是正确的:目标URL:'Http:localhost:8080/project/externaldata'(它是我的URL模式中我的(Spring)RequestMethod的URL。而且我的参数字符串似乎是正确的参数:'Salutation=Mister&GivenName=Matt&FamilyName=Jones'。或者使用DataOutputStream不是正确的吗?
Thx寻求任何帮助:)
我已经检查了你的代码,它运行良好。我想URL有问题,要么是它的错误,要么是URL有一些字符是无法解析的。
import java.io.BufferedReader;
导入java.io.DataOutputStream; 导入java.io.InputStream; 导入java.io.InputStreamReader; 导入java.net.HttpurlConnection; 导入java.net.URL;
公共类代码段{
运行良好,达到了预期的效果
对传递的 URL 发出一个 POST 请求。 使用 XMLHttpRequest web api 对给定的url 发出一个 post 请求。 用 setRequestHeader 方法设置 HTTP 请求头的值。 通过调用给定的 callback 和 responseText 来处理 onload 事件。 通过运行提供的 err 函数,处理onerror事件。 省略第三个参数 data ,不发送数
我需要一个java程序来生成以下请求。我正在使用Apache HttpClient Library,但仍然无法生成这样的请求: 这是我的python程序生成的,我编写了一个等效的java程序。但它扔403。 2012-09-10 15:12:05G信息:G2OAuth auth data=“3,0.0.0,0.0.0,1347289925,3223833979,crlakamai”2012-09-
本文向大家介绍C#使用HttpPost请求调用WebService的方法,包括了C#使用HttpPost请求调用WebService的方法的使用技巧和注意事项,需要的朋友参考一下 之前调用 WebService 都是直接添加服务引用,然后调用 WebService 方法的,最近发现还可以使用 Http 请求调用 WebService。这里还想说一句,还是 web api 的调用简单。 WebSer
当我从discord服务器收到请求时,它会发送如下内容: null 当我运行它时,终端给我<Response[404&>;,这似乎是错误本身的代码,但我希望代码输出消息参数的内容 我为一个可能愚蠢的问题提前道歉。
我必须在简单的Java实现一个帖子请求。 我看过下面这个问题: 如何从Java向json RESTful服务发出post请求? 这是示例的一部分 我的问题是:为什么参数写在输出流上?据我所知,输出流是为了收集一个请求的输出,而不是为了制作它。 只是好奇,考虑到我显然不擅长这个。
因此,我是Java新手,正在尝试将一个变量从扫描器传递到getter/setter方法,以便根据输入的数字对数组进行不同的排序。 我把它放在列表排序的地方;问题是我的扫描仪重复了你必须在列表出现之前多次输入你的选择。 我知道这个问题与调用“int c=assign_6.choice()”有关。如果我硬编码一个数字,它没问题,但它似乎正在多次调用select()函数。 我尝试过将函数移出main,删