关于html接收post参数信息的问题

> 一个关于socket接收post数据的有关问题
一个关于socket接收post数据的有关问题
goldhawk1010 & &
发布时间: & &
浏览:27 & &
回复:6 & &
悬赏:0.0希赛币
一个关于socket接收post数据的问题写了一个MyServer模拟http server 接收post请求。java代码:  Java code  
import java.io.*; import java.net.*;
public class MyServer {
public static void main(String args[]) throws Exception{
ServerSocket serverSocket = new ServerSocket(8080);
System.out.println(&server is ok.&);
while(true){
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line = in.readLine();
while(line!=null){
System.out.println(&Client: & + line);
line = in.readLine();
System.out.println(&current user close the session.&);
in.close();
socket.close();
用浏览器打开下面的html文件,并提交数据:  HTML code   &head&
&title&test my server&/title&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8&&
&p&upload&/p&
&form name=&UploadForm& method=&post& action=&&& &input type=&text& name=&myname& /$>$br& &select name=&myage&&
&option value=&18&&18&/option&
&option value=&20&&20&/option&
&option value=&22&&22&/option& &/select$>$br& &input type=&submit&value=&Sutmit&& &/form& &/body&
MyServer打印出来的数据开始还正常:server is ok.Client: POST /testupload.jsp HTTP/1.1Client: Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*Client: Referer: Client: Accept-Language: zh-cnClient: User-Agent: Mozilla/4.0 ( MSIE 8.0; Windows NT 5.1; Trident/4.0)Client: Content-Type: application/x-www-form-urlencodedClient: Accept-Encoding: gzip, deflateClient: Host: localhost:8080Client: Content-Length: 28Client: Connection: Keep-AliveClient: Cache-Control: no-cacheClient:走到这里的时候, 按http协议,接下来浏览器该传送post的数据了,但是程序走到这里就不走了。当我按esc之后,post数据才被提交上去Client: myname=wwwwwwwwwwww&myage=18current user close the session.很奇怪!高手出来!
有两个问题:1、因为你是readLine,最后的数据并没有回车换行,所以readLine就一直悬停了,你可以改成read(char[])这个方法试试,就能读到数据2、你在读到数据后,应该向客户端发出应答,否则客户端不会关闭Socket(除非超时,可能很长),这样你的程序还是会挂在那里不退出。
goldoak & &
& & (0)(0)并不奇怪,readline要到文本行结尾才返回,但post提交的数据通过http消息体发送,末尾不必加换车符,所以此时readline就卡在那里了。空行是http头和消息体的分隔,可以在读到空行后,退出循环,转而用普通的读字符方式处理。
goldramer & &
& & (0)(0)学习了
goldok & &
& & (0)(0)为什么不用 goldofcs & &
& & (0)(0)我晕,这都开始给学生讲课了啊,呵呵!对于原始数据的Socket发送,一定不要用readLine,否则以后会出现很多编码字符上的误解!
goldonkey & &
& & (0)(0)
引用楼主 sunxing007 的帖子:写了一个MyServer模拟http server 接收post请求。 java代码: Java codeimport java.io.*;import java.net.*;public class MyServer { public static void main(String args[]) throws Exception{
ServerSocket serverSocket = new ServerSocket(8080);goldofcs & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&增值电信业务经营许可证湘B2-& & & & 复制代码代码如下:& & <?php& & $json_string = $_POST["txt_json"];& & if(ini_get("magic_quotes_gpc")=="1")& & {& & $json_string=stripslashes($json_string);& & }& & $user = json_decode($json_string);& & echo var_dump($user);& & ?>& & 在这个文件中,首先得到html文件中POST表单域txt_json的值,放入变量$json_string中,而后判断,如果当前PHP的设定为magic_quotes_gpc=On,即传入的双引号等会被转义,这样json_decode函数无法解析,因此我们要将其反转义化。而后,使用json_decode函数将JSON文本转换为对象,保存在$user变量中,最终用echo var_dump($user);,将该对象dump输出出来& & 您可能感兴趣的文章:php发送post请求的三种方法php curl post 时出现的问题解决php curl模拟post提交数据示例php curl模拟post请求小实例php 模拟post_验证页面的返回状态(实例讲解)php中用socket模拟http中post或者get提交数据的示例代码php 模拟POST提交的2种方法详解php fsockopen伪造post与get方法的详解php模拟post行为代码总结(POST方式不是绝对安全)php发送post请求函数分享& & QQ空间
百度搜藏更多& & Tags:PHP POST json& & 复制链接收藏本文打印本文关闭本文返回首页& & 上一篇:PHP遍历某个目录下的所有文件和子文件夹的实现代码& & 下一篇:php 无限级分类,超级简单的无限级分类,支持输出树状图& & 相关文章PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法在WINDOWS中设置计划任务执行PHP文件的方法php cache类代码(php数据缓存类)PHP下对字符串的递增运算代码基于php中使用excel的简单介绍PHP中的函数嵌套层数限制分析php之Memcache学习笔记Cakephp 执行主要流程解析PHP的session过期设置解决了Ajax、MySQL 和 Zend Framework 的乱码问题& & 文章评论& & 最 近 更 新& & 删除html标签得到纯文本可处理嵌套的标签PHP判断是否有Get参数的方法php代码审计比较有意思的例子php中filter函数验证、过滤用户输入的数据php xml 入门学习资料用缓存实现静态页面的测试ini_set的用法介绍PHP数组内存耗用太多问题的解决方法php获取服务器信息的实现代码mysql_num_rows VS COUNT 效率问题分析& & 热 点 排 行& & php中iconv函数使用方法PHP 页面跳转到另一个页面的多种php字符串截取问题PHPMyadmin 配置文件详解(配置)火车头采集器3.0采集图文教程php出现Cannot modify header in特详细的PHPMYADMIN简明安装教程php中json_decode()和json_encodphp下intval()和(int)转换使用与require(),include(),require_on
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益大家正在求推荐
&·&·&·&·&·&·
&(1 人参与)
&(2 人参与)
&(0 人参与)
&(1 人参与)
&(0 人参与)
第三方登录:版权所有 京ICP备号-2
迷上了代码!}

我要回帖

更多关于 php接收post数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信