gpt4 book ai didi

java - 使用 Java 发送 HTTP 请求 GET/POST 以形成表单?

转载 作者:可可西里 更新时间:2023-11-01 16:34:43 36 4
gpt4 key购买 nike

所以我有了这段代码,我让它工作了,现在它基本上允许我发送 http post 并向我想要的几乎任何外部网站获取请求,除非元素不包含 name 属性。这是一个例子:

这是 Java 代码:

    public static String sendPostRequest(String url) {

StringBuffer sb = null;

try {

String data = URLEncoder.encode("user", "UTF-8") + "="
+ URLEncoder.encode("myUserName", "UTF-8") + "&"
+ URLEncoder.encode("submit", "UTF-8") + "="
+ URLEncoder.encode("Submit", "UTF-8");


URL requestUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) requestUrl
.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("GET");

OutputStreamWriter osw = new OutputStreamWriter(
conn.getOutputStream());
osw.write(data);
osw.flush();

BufferedReader br = new BufferedReader(new InputStreamReader(
conn.getInputStream()));

String in = "";
sb = new StringBuffer();

while ((in = br.readLine()) != null) {
sb.append(in + "\n");
}

osw.close();
br.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sb.toString();
}

这是我尝试向其发送请求的表单(这是 w3schools 网站上的表单,这是网站 http://www.w3schools.com/html/html_forms.asp ):

<form name="input0" target="_blank" action="html_form_action.asp" method="get">

Username:

<input type="text" name="user" size="20" />

<input type="submit" value="Submit" />

</form>

现在因为提交按钮没有名称属性,我无法向它发送正确的 HTTP Get/Post 请求(我知道在这种情况下它是一个 get 方法)。我如何用(什么正确的键/值)替换字符串数据,以便它实际向此表单发送请求?

最佳答案

我正在使用 HttpClient 生成 http 请求

HttpClient 是开源 apache 项目。你可以获得广泛的代码。HttpClient version 4.1 是一套不错的Http api

HttpClient Learning Artical

关于java - 使用 Java 发送 HTTP 请求 GET/POST 以形成表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9954731/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com