python:
import requests
# 设置代理IP和端口号
proxy = {
"http": "http://代理IP地址:代理端口号",
"https": "http://代理IP地址:代理端口号",
}
# 设置要访问的网站地址和cookie
url = '要访问的网站地址'
cookie = 'cookie值'
# 设置请求头部信息和请求体内容
headers = {
'Cookie': cookie
}
data = {
'参数名': '参数值'
}
# 发送请求并获取响应
response = requests.post(url, headers=headers, data=data, proxies=proxy)
print(response.text)
在代码中,首先设置代理IP和端口号,然后设置要访问的网站地址和cookie。接着,设置请求头部信息和请求体内容,并将代理IP信息通过proxies参数传入requests.post方法中,发送请求并获取响应,并打印出响应结果。注意,在设置请求体内容时,需要将参数名和参数值组成的字典传入data参数中。
java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.util.Map;
public class ProxyExample {
public static void main(String[] args) {
try {
// 设置代理IP和端口号
String proxyHost = "代理IP地址";
int proxyPort = 代理端口号;
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
// 设置要访问的网站地址和cookie
String urlStr = "要访问的网站地址";
String cookie = "cookie值";
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
// 设置请求头部信息
connection.setRequestMethod("POST");
connection.setRequestProperty("Cookie", cookie);
connection.setDoOutput(true);
// 设置请求体内容
String requestBody = "参数名=参数值";
connection.getOutputStream().write(requestBody.getBytes());
// 发送请求并获取响应
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = in.readLine()) != null) {
response.append(line);
}
in.close();
// 打印响应结果
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
在代码中,首先设置代理IP和端口号,然后设置要访问的网站地址和cookie。接着,创建URL对象,并通过openConnection方法打开与代理服务器的连接,设置请求头部信息和请求体内容,最后通过输入流获取响应并打印出来。注意,在设置请求体内容时,需要将参数名和参数值组成的字符串转换成字节数组,并通过getOutputStream方法写入到请求体中。
java用map:
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpHost;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.conn.DefaultProxyRoutePlanner;
public class ProxyExample {
public static void main(String[] args) throws Exception {
// 设置代理IP和端口号
HttpHost proxy = new HttpHost("代理IP地址", 代理端口号);
// 创建HTTP客户端,并设置代理
HttpClient client = HttpClientBuilder.create()
.setRoutePlanner(new DefaultProxyRoutePlanner(proxy))
.build();
// 设置要访问的网站地址和cookie
String url = "要访问的网站地址";
String cookie = "cookie值";
// 设置请求头部信息和多个参数名和参数值的键值对
Map<String, String> params = new HashMap<>();
params.put("参数名1", "参数值1");
params.put("参数名2", "参数值2");
params.put("参数名3", "参数值3");
// ...
HttpPost post = new HttpPost(url);
post.setHeader("Cookie", cookie);
// 创建参数列表,并将参数名和参数值添加到参数列表中
URIBuilder builder = new URIBuilder(url);
for (String key : params.keySet()) {
builder.addParameter(key, params.get(key));
}
// 将参数列表转换成StringEntity类型,并设置编码格式和Content-Type
StringEntity entity = new StringEntity(builder.build().toString(), ContentType.APPLICATION_FORM_URLENCODED);
post.setEntity(entity);
// 发送请求并获取响应
HttpResponse response = client.execute(post);
System.out.println(EntityUtils.toString(response.getEntity()));
}
}
在代码中,首先设置代理IP和端口号,然后创建HTTP客户端,并将代理IP信息通过DefaultProxyRoutePlanner对象设置给HttpClientBuilder。接着,设置要访问的网站地址和cookie,以及多个参数名和参数值的键值对。然后,创建HttpPost对象,并设置请求头部信息和请求体内容。使用URIBuilder对象将多个参数名和参数值添加到参数列表中,并将参数列表转换成StringEntity类型,并设置编码格式和Content-Type。最后,发送请求并获取响应,使用EntityUtils将响应体转换成字符串,并打印出响应结果。
这段代码展示了如何在Python和Java中设置代理IP和Cookie,然后发送带有请求体的POST请求。在Python中使用requests库,在Java中分别使用HttpURLConnection和ApacheHttpClient实现。每个示例都包含了设置代理、请求头、请求体以及处理响应的过程。
720

被折叠的 条评论
为什么被折叠?



