`
hepx
  • 浏览: 151737 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

socket模拟http请求

    博客分类:
  • web
阅读更多


/**
 * socket模拟http 请求
 * @author xixi
 * 注意:请求的目标端要实现GET和POST的方法。IP和端口适自己的情况定
 * 
 * 用来测试,没有封装。
 */
public static void doGet(){
try {
//如果传中文参数请转码
String data = "pid=1002&pcode=K001001";
// Create a socket to the host
String hostname = "localhost";
int port = 8088;
InetAddress addr = InetAddress.getByName(hostname);
Socket socket = new Socket(addr, port);
  
// Send header
String path = "/kinyb/doMW2?"+data;
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
wr.write("GET "+path+" HTTP/1.0\r\n");
wr.write("\r\n");

wr.flush();
  
// Get response
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),"GBK"));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
wr.close();
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
 * socket模拟http post 请求
 * @author xixi
 */
public static void doPost(){
try {
  
String data = "pid=1002&pcode=K001001";
// Create a socket to the host
String hostname = "localhost";
int port = 8088;
InetAddress addr = InetAddress.getByName(hostname);
Socket socket = new Socket(addr, port);
  
// Send header
String path = "/kinyb/doMW2";
BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(), "GBK"));
wr.write("POST "+path+" HTTP/1.0\r\n");
wr.write("Content-Length: "+data.length()+"\r\n");
        wr.write("Content-Type: application/x-www-form-urlencoded\r\n");
wr.write("\r\n");
// Send data
wr.write(data);
wr.flush();
  
// Get response
BufferedReader rd = new BufferedReader(new InputStreamReader(socket.getInputStream(),"GBK"));
String line;
while ((line = rd.readLine()) != null) {
System.out.println(line);
}
wr.close();
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
 * @author xixi
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
//doGet();
doPost();


}
 

分享到:
评论

相关推荐

    C#基于socket模拟http请求的方法

    本文实例讲述了C#基于socket模拟http请求的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; ...

    JAVA SOCKET模拟HTTP请求,文件上传!

    采用JAVA的socket实现http协议,模拟浏览器访问服务端。

    socket模拟HTTP协议头

    在使用Socket模拟HTTP请求时,我们首先需要创建一个Socket实例,连接到指定的Web服务器IP地址和端口号(通常是80)。然后,我们将HTTP请求以字符串形式构造,包括上述的请求行、头部和可能的请求体。接下来,我们将...

    Android下socket模拟http server

    HTTP请求通常包含一个方法(GET、POST等)、一个URL和HTTP头。对于本例,我们关注GET请求,因为浏览器通常使用GET请求获取HTML文件。我们可以读取`Socket`的输入流获取请求数据,然后解析出请求的URL,比如`/mnt/...

    socket http/https 模拟登录 请求页面等

    本主题聚焦于“socket http/https 模拟登录 请求页面”,这些概念都是网络编程中的核心元素。以下是对这些概念的详细解释: **Socket**: Socket是网络通信的基本构建块,它提供了一个低级别的接口,允许程序通过...

    Postman模拟请求

    它允许研发者模拟各种HTTP请求,包括GET、POST、PUT、DELETE等多种方法,以便于验证服务器端的接口功能是否正常工作。下面将详细阐述Postman的主要特点和使用方法。 1. **请求模拟**: - GET请求:用于获取资源,...

    TCP socket 请求报文发送工具

    例如,如果你想要测试一个HTTP服务器,你可以输入`telnet www.example.com 80`,如果连接成功,你将看到一个空白的命令行,这意味着你可以开始输入HTTP请求。 然而,"TCP socket请求报文发送工具"可能提供了更高级...

    模拟http服务器(socket使用)

    本文将基于提供的标题“模拟http服务器(socket使用)”和描述,深入探讨如何使用Socket来构建一个简单的HTTP服务器。我们将涵盖以下几个关键点: 1. **HTTP协议基础**: HTTP(超文本传输协议)是互联网上应用最...

    PHP socket 模拟POST 请求实例代码

    以下是一个简单的PHP Socket模拟POST请求的示例代码: ```php function socket_post($url, $data, $referer='') { if (!is_array($data)) { return; } $data = http_build_query($data); $url = parse_url($...

    使用PHP Socket 编程模拟Http post和get请求

    在现代网络开发中,使用PHP进行Socket编程是一种常见的需求,尤其在模拟HTTP请求方面。本文将深入探讨如何使用PHP的Socket编程来模拟HTTP的GET和POST请求。我们将从一个PHP类开始,该类能够构建HTTP请求并处理响应,...

    四款网络通信测试工具-含socket/post/get http请求

    博客:【安卓学习之工具学习】网络通信测试工具-socket/post/get 的附件,博客连接为:http://blog.csdn.net/ljb568838953/article/details/52493675 附件里面含: fiddlersetup_v4.6.2.0.32002.exe NetAssist_v4.2....

    socket模拟http

    "socket模拟http"是指使用Socket API来实现HTTP协议的功能。在本项目中,开发者使用了Visual C++ 6.0(VC6.0)作为开发工具,这是一款经典的C++集成开发环境。 HTTP(超文本传输协议)是互联网上应用最广泛的一种...

    Socket TCP UDP 客户端 服务器模拟工具

    在实际应用中,Socket编程涉及的概念和技术还包括套接字的创建、绑定、监听、接受、连接、读写操作,错误处理,多线程/多进程并发处理,以及更高级的特性如TCP的长连接、HTTP/HTTPS协议等。熟练掌握Socket编程,将为...

    易语言HTTP连接请求源码

    易语言HTTP连接请求源码

    SOCKET转HTTP

    这通常涉及到将Socket通信中的数据封装成HTTP请求或响应格式。 1. **HTTP请求格式**: HTTP请求由请求行、请求头、空行和请求体四部分组成。 2. **HTTP响应格式**: HTTP响应同样由状态行、响应头、空行和响应...

    java Socket实现简单模拟HTTP服务器

    3. 模拟 HTTP 服务器:使用 Java Socket 可以模拟简单的 HTTP 服务器,来处理客户端的请求和响应。服务器可以监听客户端的请求,解析请求头,返回响应体。 4. HTTP 请求头解析:HTTP 请求头包含了请求的方法、URL、...

    向web服务器请求HTTP页面的mfc单文档程序

    - 使用Socket对象的Send()函数发送构建好的HTTP请求报文。 5. **接收响应**: - 注册到CSocket对象的OnReceive()消息,以便在有数据到达时处理。 - 在OnReceive()回调中,接收来自服务器的数据,并将其存储在...

    PHP版SOCKET模拟提交POST消息(源码)

    通过分析`postn.php`,我们可以更深入地了解如何在实际项目中使用PHP的SOCKET功能进行POST请求,这对于那些需要绕过标准HTTP库(如cURL)或者在低级别进行网络交互的场景非常有用。同时,这也是一种学习网络编程和...

    一个Http请求处理工具 爬虫

    在本工具中,使用Socket来模拟HTTP请求,能够更好地控制网络通信的细节,比如超时设置、重试机制等。 HTTP协议是互联网上应用最为广泛的一种网络协议,用于客户端和服务器之间的通信。HTTP请求是客户端向服务器发送...

Global site tag (gtag.js) - Google Analytics