如何获得HTTP请求里面的socket

如题,HTTP请求是TCP的连接方式,能不能获得这个TCP的socket对象

1个回答

连接由tomcat管理 我们是获取不到的

jinnianshilongnian
jinnianshilongnian 而且也不应该获取 要传数据 可以通过header cookie 参数 body
接近 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
socket 发送HTTP请求
我用scket做http请求,大家知道,请求的时候在请求头完毕时,要发送一次换行服务器才会响应,否则会一直等待状态。我想要实现分两次发送数据来完成请求头,第一次把请求头内容发过去,第二次再发换行,但是这样好像不行。这是为啥呢rn[code=csharp]String str="GET / HTTP/1.0\r\nConnection: Close\r\n\r\n";rnsocket.send(str);rn[/code]按以上会正常接收到数据rn[code=csharp]String str="GET / HTTP/1.0\r\nConnection: Close\r\n";rnsocket.send(str);rnstr="\r\n";rnsocket.send.(str);rn[/code]rn这样接收不到数据。
Socket模拟Http请求
问题是请求不到数据、下面是代码。求指教rn[code=C#]rnSocket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);rnrn IPHostEntry ipHost = Dns.GetHostEntry("www.baidu.com");rnrn IPAddress ip = ipHost.AddressList.Where(i => return i.AddressFamily.Equals(AddressFamily.InterNetwork);).First();rnrn StringBuilder sb = new StringBuilder();rn //http://www.baidu.com/img/baidu_sylogo1.gifrn sb.AppendLine("GET /img/baidu_sylogo1.gif HTTP/1.1");rn sb.AppendLine("Accept: */*");rn sb.AppendLine("Accept-Language: zh-CN");rn sb.AppendLine("Content-Type: application/x-www-form-urlencoded");rn sb.AppendLine("User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)");rn sb.AppendLine("Accept-Encoding: gzip, deflate");rn sb.AppendLine("Host: www.baidu.com");rn sb.AppendLine("Connection: Keep-Alive");rnrn socket.Connect(new IPEndPoint(ip,80));rnrn byte[] sendData = Encoding.UTF8.GetBytes(sb.ToString());rn socket.Send(sendData);rnrn byte[] recive = new byte[1024];rnrn while (socket.Receive(recive) != 0)rn rn Console.WriteLine(Encoding.UTF8.GetString(recive));rn rnrn socket.Shutdown(SocketShutdown.Both);rnrn socket.Close();rn[/code]
socket发送http请求
在linux环境下,使用socket发送和接收http请求的例子
socket模拟http请求
/** * socket模拟http 请求 * @author xixi * 注意:请求的目标端要实现GET和POST的方法。IP和端口适自己的情况定 *  * 用来测试,没有封装。 */public static void doGet(){try {//如果传中文参数请转码String data = "pid=1002&pcode=K001001";// Create a socket ...
socket封装HTTP请求
之前写过两个socket封装的HTTP GET请求,可是知其然,不知所以然。这次写POST请求就有点懵逼了。 还是从大佬的文章出发:https://blog.csdn.net/a19881029/article/details/14002273 请求的格式如图,严格按照这个格式,否则服务器返回400 1、每个HTTP选项末尾都加\r\n 2、HTTP选项的末尾要加上一个空白行,所以末尾...
http请求里面的参数有#
我是用servlet的request.getParameter()接收参数,但是对面的脑残对接在一个参数的值里面有一个#,导致#后面的内容和其他参数都读不出来,rn刚才看了一下,request的所有方法都得不到#后面的内容,我觉得应该是request在接收到请求后,已经将url的字符串处理,然后#后面的解析不到,所以我用request的方法处理的不是最原始的url,这个请问有办法解决吗
Flask里面的Http请求方法
“”" HTTP方法: 告知服务器, 客户端想请求页面做什么? GET:浏览器告知服务器, 获取页面的内容, 返回给浏览器; POST:浏览器告诉服务器, 通常用于表单的提交; “”" from flask import Flask, request, render_template, redirect app = Flask(__name__) users = { 'root': 'r...
如何从socket获得请求的数据包
如何从socket获得请求的数据包
如何获得这样一个http请求的地址
比如说rn我在163的电子邮箱中 点击一个url的连接,能否通过这个请求获得这个163邮箱服务器的主机ip地址rn能否实现rn谢谢
通过socket收发Http请求
话不多说,直接上代码package testSockate;import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ConnectException; import
Socket http请求中文乱码问题
各位高手,麻烦帮忙看看这个 http请求乱码问题,百思不得其解啊....rnSocket http请求"http://www.gome.com.cn/ec/homeus/browse/provinceDroplet.jsp?callback=g"时返回乱码,网页是utf-8,编码的rnrn代码如下:rn OutputStream os = null;rn BufferedReader br = null;rn Socket s = null;rn try rn StringBuffer req = new StringBuffer();rn req.append("GET /ec/homeus/browse/provinceDroplet.jsp?callback=g HTTP/1.1\r\n");rn req.append("Accept: text/javascript, application/javascript, */*\r\n");rn req.append("Accept-Language: zh-cn\r\n");rn req.append("User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)\r\n"); rn req.append("Host: www.gome.com.cn\r\n");rn req.append("Connection: Close\r\n");rn req.append("\r\n");rn s = new Socket("www.gome.com.cn",80);rn os = s.getOutputStream();rn br = new BufferedReader(new InputStreamReader(s.getInputStream(),"utf-8"));rn os.write(req.toString().getBytes());rn os.flush();rn String tmp = ""; rn StringBuffer sbRespon = new StringBuffer();rn while((tmp = br.readLine())!=null) rn sbRespon.append(tmp + "\r\n"); rn rn System.out.println(sbRespon.toString());rn catch (IOException e) rn try rn if (br != null) br.close();rn if (os != null) os.close();rn if (s != null) s.close();rn catch (IOException e2) rn // TODO Auto-generated catch blockrn e.printStackTrace();rn rn rn
socket请求和http请求
socket:长连接,客户端和服务器建立连接后,一般不会主动断掉。数据量小,安全性高,开发要求高。 http:短连接。接受服务端的响应后,连接即会断掉。请求方式有get,put,web服务。...
使用Socket发送Http请求
1、建立TCP连接。 SocketAddress addr = new InetSocketAddress("www.baidu.com",80); Socket sock = new Socket(); sock.connect(addr); 2、构建HTTP请求头并发送HTTP请求。 String[] headers = {"GET / HTTP/1.1\r\n","Host: ww
Socket 请求http 汉字编码问题
用socket请求HTTP时返回了UT-8格式的汉字,按2个字节解析显示的汉字个数不正确,按3个字节解析才能正常显示汉字,原来在UTF-8中普通的汉字都是用3个字节存储的。 常用的GB2312则是2个字节表示一个汉字,二者不同。 了解下编码的基本知识: UTF-8:Unicode TransformationFormat-8bit。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即...
利用socket 发送http请求
如题:rn请问如何利用socket发送http请求rn现要求如下:rn1.请求web服务器端的一个插入请求:命名insertuserinfornrn2.我有一组用户信息利用json封装并保存到字符串中strRequest中rn 内容如下:rn "userName":"lisi", "userAge":20rn3.请问如何利用socket发送此请求
socket请求http数据的问题
我用socket去请求同一个网页的数据,我想既然网页的数据不变,那每次取的数据应该都一样才是,可总是不一致,请问出在哪里
socket发送http请求的问题
代码如下:rn//调用的代码rnprivate void btTest_Click(object sender, System.EventArgs e)rn rn a_strServer = "http://WWW.CSDN.NET";rn a_strRequest = "GET /test.htm HTTP/1.1";rn //txtSource.Text = this.Get_Socket_Request(a_strServer,a_strRequest,80,"Connection: Keep-Alive");rn txtSource.Text = this.Get_Socket_Request(a_strServer,a_strRequest,80,"Connection: Close");rnrnrn//发送请求的函数rnprivate string Get_Socket_Request(string a_strServer , string a_strRequest , Int32 a_intPort , string Connection) rn //通过同server建立tcp/ip连接,发送socket命令 rn rn Encoding ASCII = Encoding.Default ; rn string Get = a_strRequest + "\r\n" + "Accept: */*\r\n"; rn Get = Get + "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)\r\n";rn Get = Get + "Host: " + a_strServer.Substring(7 ,a_strServer.Length - 7) + "\r\n" + Connection +"\r\n\r\n";rnrn Byte[] ByteGet = ASCII.GetBytes(Get); rn Byte[] RecvBytes = new Byte[256]; rn String strRetPage = null; rnrn IPHostEntry IPHost = Dns.Resolve(a_strServer.Substring(7 ,a_strServer.Length - 7)); rn IPAddress[] hostadd = IPHost.AddressList;rnrn IPEndPoint EPhost = new IPEndPoint(hostadd[0], a_intPort); rnrn Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);rnrn s.Connect(EPhost);rn if (!s.Connected) rn rn strRetPage = "Unable to connect to host"; rn return strRetPage; rn rnrn s.Send(ByteGet, ByteGet.Length, 0); rnrn Int32 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0); rn strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes); rnrn while (bytes > 0) rn rn bytes = s.Receive(RecvBytes, RecvBytes.Length, 0); //问题在这句rn strRetPage = strRetPage + ASCII.GetString(RecvBytes, 0, bytes); rn rnrn   s.Shutdown ( SocketShutdown.Both ) ;rn s.Close ( ) ;rnrn return strRetPage ; rn rn****************************************************rn问题:rn当 Connection: 为 Close 时,函数Get_Socket_Request可以正常运行完成,rn而当 Connection: 为 Keep-Alive 时,运行到 bytes = s.Receive(RecvBytes, RecvBytes.Length, 0); 这句就停在这里,应该是阻塞住了.rn请问这是什么原因? 为 Keep-Alive 时,应该怎么才能够可以正常运行完不停止下来?
Socket实现发送HTTP请求
最近花了些时间把这个东西完成了,哈哈~~ 用Socket实现了发送HTTP请求,源码已经打包了 这些是CHttp里面公开的函数 void SetUrl(char*); //设置网页URL char* GetCookie(); //获取网页cookie void SetCookie(std::string strCookie);//添加cookie std::string GetLastHead(){return tmpHead;} //获取上一个请求返回的头 std::string GetLastData(){return tmpData;}//获取上一个请求返回的网页内容 std::string Get();//GET访问网页 std::string Post(const char* chPostData);//POST访问网页 std::string GetHead();//获取请求头 void SetHead(std::string strHead){m_strHead=strHead;}//设置请求头
socket发送http请求问题
我用socket Api创建socket,然后连接代理服务器,再把http的请求(get方式)发送出去,服务器有返回.rn如果我用socket api直接想连接服务器(即http请求中的ip和port),就是connect不上,更别说发送请求,这是怎么回事.
Socket实现http请求与响应
前言 模仿一个简易服务器,当浏览器输入本地网址时,响应到对应的界面。如访问http://localhost:3001 实现 package servlet; import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Date; public class Service {...
SOCKET发送HTTP请求问题
[转载] http://www.javaeye.com/topic/35959rnrn目的:客户端用socket连接web服务器发送http请求,访问一个Servlet /service .并接收servlet的相应数据。 rn我客户端代码可以访问到servlet可是servlet用request.getPrameter("data") 取不到请求内容. rn请指点:代码如下:rnrnpublic class Client rn public static void main(String[] arg) rn Socket socket; rn try rn socket = new Socket("10.20.64.203", 7001); rn OutputStream os = socket.getOutputStream(); rn InputStream ins = socket.getInputStream(); rn String data= getXmlString(); rn StringBuffer sb = new StringBuffer(); rn sb.append("POST /service HTTP/1.1\r\n");// 注意\r\n为回车换行 rn sb.append("Accept-Language: zh-cn\r\n"); rn sb.append("Connection: Keep-Alive\r\n"); rn sb.append("Host:localhost\r\n"); rn sb.append("Content-Length:11\r\n"); rn sb.append("\r\n"); rn sb.append("data=abc\r\n"); rn sb.append("\r\n"); rn rn // 接收Web服务器返回HTTP响应包 rn os.write(sb.toString().getBytes()); rn os.flush(); rn byte[] b = new byte[1000]; rn ins.read(b); //读取http头 rn InputStreamReader ireader = new InputStreamReader(ins); rn java.io.BufferedReader reader = new java.io.BufferedReader(ireader); rn String s = reader.readLine(); //读取内容 rn System.out.println("response:"+s); rn System.out.println(reader.readLine()); rn System.out.println(reader.readLine()); rn System.out.println(reader.readLine()); rn System.out.println(reader.readLine()); rn System.out.println(reader.readLine()); rn System.out.println(reader.readLine()); rn rn catch (UnknownHostException e) rn e.printStackTrace(); rn catch (IOException e) rn e.printStackTrace(); rn rn
python的HTTP请求方式(socket)
关于python的HTTP请求方式HTTP请求步骤为:       1. 域名解析2. 发起TCP的3次握手3. 建立TCP连接后发起http请求4. 服务器端响应http请求,浏览器得到html代码5. 浏览器解析html代码,并请求html代码中的资源6. 浏览器对页面进行渲染呈现给用户简化为:DNS解析(浏) ->TCP连接(三次握手)->http Requests(浏)-&gt...
如何获得请求页面的控件ID
在JSP中如何获得请求页面中的控件id?这个控件是HTML标签
socket里面的问题
System.out.println("socket=:" +socket);rn BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));rn PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);rn out.println("hello,server,i am "+clientname);rn String str=in.readLine();rn System.out.println(str);System.out.print & out.print rn out.println("byebye");rn在最后两行有system.out.print和out.print.rn现在搞不懂两者的区别,请高手指导。
在linux的socket里如何使用http协议
我需要做一个这样的clientrn使用http协议来想server端发送一个数据包rn不知linux的socket是怎么使用http协议的
C#如何使用Socket通过HTTP代理向HTTP发送POST请求并获得响应
如题rnrn要能使用Http代理IP..发送请求
http请求里的keep-alive,求解
http头里的connection是keep-alive。rnrn我的理解是rnkeep-alive是建立了tcp连接后仍然保持,以便下次再请求的时候,可以不用浪费握手的时间。rn不知对否?rnrn我的问题是rn如果是对静态资源,比如图片等开启keep-alive,有什么意义?再次请求的时候,都是从浏览器缓存里提取的。rn如果是对动态页面,倒是可以,每次请求都需要更新,倒不如保持连接。rnrn但是网上的介绍都是说要给静态资源开启keep-alive,而动态页面需要关闭keep-alive。不理解,求解释,多谢。
MTK里面的http协议如何实现
我想在MTK中实现可以通过http提交get、post请求的函数,不知道咋写,谁能帮我呢?rn因为我对mtk不太熟,希望能附尽量全的源代码,谢谢。
如何获得datagrid里面的dropdownlist的ID
rn rn rn rn rn rn rn rn rnVB.net中,在编辑状态下,怎样得到DropdownList的id
如何获得网页里面的数据?
宝钢股份(代码:600019;所属行业:钢铁;曾用名:G宝钢) rnrn rn开盘 16.81 市盈率TTM 20.46 5日涨跌幅 7.86% rn最高 16.92 市盈率LYR 22.75 10日涨跌幅 5.24% rn最低 16.50 市净率 3.45 20日涨跌幅 -12.63% rn成交量 175328手 流通A股 56.11亿 60日涨跌幅 5.16% rn换手率 0.31% 总股本 175.12亿 120日涨跌幅 6.02% rn振幅 2.48% 总市值 2959.53亿 250日涨跌幅 77.71% rn实时行情 日K线 周K线 月K线 刷新 rn rn ============================================================rn rn以上是一个网页的页面在IE里面拷贝出来的数据rnrn我想用VC++来分析这个网页,在IE上面可以看见数据。但是看网页的源代码,却发现网页源代码并没有rn接包含数据。比如下面这一段code描述市盈率指标:rnrn 市盈率rn TTMrn rn rn rn 以上的“市盈率”指向变量,rn 搜索整个网页,其中quoteData_PE是这样一个函数中赋值声明的rn rn function getQuoteDataCallBack(response)rn rn var q=response.value; rn if(q!=null && q.Range!=null)rn rn var pColor="";rn if(q.Range==0)pColor="gray"rn if(q.Range>0)pColor="red"rn if(q.Range<0)pColor="green"rn var sTime=q.UpdateTime.substr(5,5)+" "+q.UpdateTime.substr(11,5)rn document.all.quoteData.style.color=pColor;rn document.all.quoteData_Price.innerHTML=q.Price.toFixed(2);rn rn document.all.quoteData_PE.innerHTML=q.PE.toFixed(2); //////这个地方赋值市盈率变量rn rn document.all.quoteData_PElyr.innerHTML=getPELYR(q.Price);rn document.all.quoteData_Low.innerHTML=q.Low.toFixed(2);rn rn rnrn =======================rn ok,我现在想要程序可以看见这个数字等于多少要怎么做?我不能简单的分析这个页面的文本,rn 因为这个文本里面根本没有直接包含数字rn 我看了很多个网站的网页,都是是这样的结构rn 在IE里面可以用人眼轻松看见,但是在VC里面要看见要怎么做呀?rn rn rn
如何获得设备管理里面的信息
如题,我想在vc里面获得设备管理的详细信息和添加删除程序的信息。不知道有没有这样的函数呀。rn如何下手,请大侠指点下。
QWizard如何获得QTableWidget里面的内容
我在QWizardPage里面需要用户输入内容,所以使用QTableWidget来保存,如何得到里面的内容呢。
如何获得优酷视频里面的“播放次数”
如何获得优酷视频里面的“播放次数”rnrn分不多,希望能有高手指示
如何才能获得 里面的内容
内容就是id="comment"中的,在网页中可以看到它调用出的内容,但是在网页源代码中,却看不到,我怎么才能把id="comment"中的内容调出来呢,是在php的网页中。rn大家要是看不明白,可以看看这个页面http://www.fanxiancun.com/view.php?iid=5559481559,页面右边的评价详情,可以在网页中看到,但是查看源代码确实 这一句。
如何获得百度知道里面的“浏览次数”
如何获得百度知道里面的“浏览次数”?rnrn如果有人解决,另外开贴继续给分
如何编程获得网页里面的内容
我有了网页的源码,怎样可以获得网页里面的现实的内容,那位高手给个例子,谢谢
如何获得 [本地连接] 里面的连接时间,状态 ???
如何获得 [本地连接] 里面的连接时间,状态 ???
如何获得TABPAGE里面的窗口对象?
在程序中使用了一个xtraTabControl,在里面动态的加载了一个TABPAGErn再在里面加载了一个FORM,代码如下rnrnrn this.xtraTabControl1.TabPages.Add(tpPage);rnrn Form frm = new Forms();rn frm.Tag = "0";rn frm.Text = tpPage.Text;rn frm.TopLevel = false;rn frm.Parent = this.xtraTabControl1.SelectedTabPage;rn frm.ControlBox = true;rn frm.Dock = System.Windows.Forms.DockStyle.Fill;rn frm.Show();rnrnrnrn现在我想要在某个事件(如点击某个按钮)发生后,想获得TABPAGE里面的窗口对象,应该怎么获得呢rnrn用controls集合好像不能获得里面的窗口吧(我不敢确定),获取控件到是可以的
如何截获http请求?
我和同学的机器连成一个局域网,我自己建立一个IIS的web服务器。这样同学可以访问我的虚拟网站.我想用vc做一个程序,当同学的机器访问我的页面的时候(向80端口发送请求),我可以截获它,并且显示出有http请求到达.rnrn请问如何做?需要使用什么类?rn
如何捕获http的请求
用c编写一个程序能够捕获浏览器发送的请求,并保存下来,以后发送。需要那些东西
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法