1、首先分析一下带cookie的HTTP收发协议的格式。
服务器发cookie给客户端时:
HTTP/1.1 200 OK
Date: Sat, 16 Oct 2010 01:11:21 GMT
Server: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8o PHP/5.2.12
X-Powered-By: PHP/5.2.12
Set-Cookie: username=admin
Set-Cookie: password=admin; expires=Sat, 16-Oct-2010 02:22:21 GMT
Content-Length: 332
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml; charset=utf-8
This is data
可以看到http头有Set-Cookie这个命令,当浏览器分析到这个命令时,就会在本地电脑上创建一个COOKIE文件并把这两个参数写入文件。
浏览器访问一个网站时,会在存放cookie的目录查找是否有这个网站的cookie文件,如果有的话,就会读取cookie文件的内容并在http请求头里加上、发出去。格式如下:
GET /sanex/images/button_bg.gif HTTP/1.1
Accept: */*
Referer: http://10.144.99.114/sanex/modules/subscribemanager/usermanager.html
Accept-Language: zh-cn
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Accept-Encoding: gzip, deflate
Host: 10.144.99.114
Connection: Keep-Alive
Cookie: username=admin; password=admin
data
这里需要注意的是:HTTP协议里,http头和数据之间的间隔是一个空行。
所有发HTTP头的时候,一定要在头的结束加两个换行,否则会出错。
代码示例见:
http://baiyuxiong.iteye.com/blog/786214
分享到:
相关推荐
### fsockopen函数详解 在PHP中,`fsockopen`是一个非常强大的函数,用于创建一个网络连接(套接字)到指定的主机和端口。这个函数在处理网络通信时特别有用,尤其是在进行HTTP请求、FTP操作或任何需要与远程服务器...
本文实例讲述了php使用fsockopen函数发送post,get请求获取网页内容的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$post =1; $url = parse_url($url); $host =’//www.jb51.net’; $path ...
注意,文件内容是通过`file_get_contents`读取的,并添加到POST数据中。 以上就是`fsockopen`在处理GET、POST请求和文件上传时的基本用法。虽然`cURL`库通常更适合这些任务,但在某些场景下,如自定义网络协议或低...
通过fsockopen函数,我们可以向服务器发送请求,并接收服务器返回的数据。 ### PHP fsockopen 函数说明 fsockopen函数用于创建一个网络连接或Unix域套接字。函数原型如下: ```php fsockopen(string hostname, int...
需要注意的是,`fsockopen`并不直接支持文件上传,而是将整个文件内容作为字符串传递。因此,服务器端需要正确解析并保存文件。 在服务器端,例如`uploadapi.php`,接收文件后,需要写入到指定目录: ```php $...
### 注意事项 - 当使用fsockopen进行远程连接时,应确保远程主机地址正确,并且端口号也是开放可用的。 - 在使用fsockopen进行网络请求时,应当注意设置合理的超时时间,以避免长时间的网络延迟影响到脚本的执行效率...
客户端代码通过`fsockopen`打开到服务器的连接,构造HTTP头部信息并发送,然后读取服务器的响应。 使用`fsockopen`的场景广泛,它可以用于执行HTTP POST或GET请求、执行FTP操作、与其他服务器进行数据交换等。在...
- 读取和写入数据时,如果使用了回车换行符(\r\n),一定要注意其格式与服务器端是否一致,否则可能会造成服务器解析错误。 - 设置超时时间可以帮助程序在连接长时间未响应时,避免无限期等待。 - 使用完毕后,应...
近期黑客利用程序漏洞注入后使用 fsockopen 进行PHPDDOS 攻击,导致部分服务器不稳定,现在将危险函数 fsockopen 暂时禁用,部分程序功能可能有问题,以下列出已知问题及通用解决方法
下载此文件,解压并上传到网站源码根目录。然后访问这个文件【例如您网站的源码是直接放在abc.com的根目录,则访问http://abc.com/pfsockopen.php】,直接点【开始执行替换操作】,即可。
利用PHP的fsockopen函数可以模拟向其他网页或站点发送HTTP请求,具体来说,可以通过模拟POST和GET方法来传送数据。下面详细说明如何使用fsockopen函数来完成这一任务。 首先,要理解fsockopen函数是PHP中用于打开...
使用自定义类如`Mail`,可以提供更灵活的邮件发送选项,如SSL/TLS加密、错误处理、多邮件发送等。 SMTP(Simple Mail Transfer Protocol)是互联网标准,用于在邮件服务器之间传输邮件。PHP通过SMTP发送邮件时,...
本文将详细介绍两种实现此功能的方法:fsockopen和cURL。 1. **fsockopen方法** fsockopen是PHP内置的一个网络连接函数,它可以打开到指定服务器的TCP/IP套接字连接。以下是如何使用fsockopen来实现表单自动提交的...
目前记得服务器PHP环境不能禁止fsockopen函数,否则邮件发送不了,但这问题也有解决的办法。总之,一开始使用,总有不顺,由于时间久远,现在想来,也不知道具体改了什么。所以,将现在正在使用的PHPMailer目录文件...
- fsockopen 更底层,灵活性高,但需要手动处理更多细节,适合对网络通信有深入理解的开发者。 **如何禁用fsockopen()** 在某些情况下,可能需要禁用fsockopen()。这通常在服务器配置层面进行,例如在php.ini中设置...
fsockopen 是套接字包功能,除了基本的常用TCP://通讯功能外,它还具有其他强大的通讯功能,UDP:// unix:// udg://等各种协议。 您可以使用获取当前服务器注册的套接字传输协议列表,以确定是否支持需要使用该...
一、如何禁用fsockopen()下面是两种常用的禁用fsockopen的方法。1、修改php.ini,将 disable_functions = 后加入 fsockopen 2、修改php.ini,将 allow_url_fopen = On 改为 allow_url_fopen = Off 二、如何...
这种方法可以显著提高并发处理能力,尤其适合需要向多台服务器发送请求的场景。 总的来说,虽然PHP不直接支持多线程,但我们可以通过异步I/O和事件驱动编程来模拟多线程行为,以实现高效并发处理。在处理网络请求时...