向各位高手请教:Socket实现Http协议Post请求,通过构造Soap包方式访问WebService? 用socket实现Http协议,似乎碰到的都是Get请求,求教一下如何实现Post请求?比如通过该模式通过Soap打包方式实现访问WebService?请高手指教!多多谢过! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Post和Get差不多,只是通常Post后面都有附加的表单等数据。 僵哥的意思是不是例如我访问www.google.cn/test.jsp?id=1的时候 就应该static const char* protocolHead="POST http://www.google.cn/test.jsp?id=1 HTTP/1.1\n" "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\n" "Accept-Language: zh-cn\n" "User-Agent:iPanelBrowser/2.0\n" "Host: www.huayigame.com:80\n" "Connection: close\n\n";这样写?似乎用get方法也可以这样访问(我只知道J2ME中可以这样).还是我的理解有错,有其他的什么途径? 用socket实现Http协议-----------------不能处理Post...就说明你还每实现http协议吧?按照http协议写就是了..每什么即使难度吧?费时而已 通常Get可以带Refer,但是Post必须带有Refer,Post是指一个表单提交。通常以Button的Submmit出现。而Get的请求参数直接体现在链接串当中(如果使用的是浏览器的话,通常在地址栏当中可以全部都看得到)。 正如luhao所言,POST方式下,协议头部是否如是写?协议头后附带Soap包是否即可访问WebService?我试过,似乎得不到数据,还望大家继续发表高见!多多谢过! 比如向Test.jsp页面提交一些数据 name = we password = wewPOST test.jsp HTTP/1.1(注意此处要写好,因为有的WEB服务器不支持HTTP/1.1,所以有时候会忽略本次请求)Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/mswordAccept-Language: zh-cnUser-Agent:iPanelBrowser/2.0 Host: www.huayigame.com:80 content-length: 123(此处给出你的数据长度)Connection: closename=fewfwe&password=fewjfweoifj这样就完了。因为当前有90%以上的请求均是来自,GET请求。所以POST提交只是在大数据量上才有优势。 问题已经解决,确实如大家所说,与Get请求相仿,Post请求在请求头之后加一行,表明请求头结束,之后带上所要发送的Soap报文,发送即可;注意的一点是content-length:之后的数据长度值一定要正确,否则会出错,返回请求错误结果。多谢各位,问题结束! 楼上能给出发送soap的代码吗?我试了一下,怎么老不成功啊。 这个post后面跟的soap报文的作用是什么啊,一直搞不懂?新手 快速拖动窗口有残影.如何解决 win32 一个有关控件图片显示的‘奇怪’问题 localhost 和计算机名,还有IP地址的区别? 关于隐藏/显示splitterwnd的问题!!! CListCtrl List方式的问题 怎么样找到猫呢~? 线程问题:严重消耗内存资源.急急急! 为什么我的dialog中见不到ActiveX控件??100分! 汇编和高级语言的结合的问题:如何才能在高级语言里用 INT 13 呢?使用 INT 13 的几个寄存器的值的问题。 怎么进行DES加密,有没有向linux下的crypt函数? VC++ 入门级教程 如何实现ActiveX控件与其容器的数据交换?
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\n"
"Accept-Language: zh-cn\n"
"User-Agent:iPanelBrowser/2.0\n"
"Host: www.huayigame.com:80\n"
"Connection: close\n\n";这样写?似乎用get方法也可以这样访问(我只知道J2ME中可以这样).还是我的理解有错,有其他的什么途径?
-----------------
不能处理Post...就说明你还每实现http协议吧?
按照http协议写就是了..每什么即使难度吧?费时而已
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword
Accept-Language: zh-cn
User-Agent:iPanelBrowser/2.0
Host: www.huayigame.com:80
content-length: 123(此处给出你的数据长度)
Connection: close
name=fewfwe&password=fewjfweoifj这样就完了。
因为当前有90%以上的请求均是来自,GET请求。所以POST提交只是在大数据量上才有优势。
多谢各位,问题结束!