我在PHP中编写了一个小刮刀,它在受密码保护的网站上做了一些请求。通常,该网站仅由该服务的应用程序请求。 现在,如果会话到期,网站会将用户重定向到具有自定义协议(xyz://)的页面,因为这会告诉应用程序必须刷新会话,并且当发生这种情况时,curl会引发一个错误,即协议不受支持(因为它是一个自定义协议)。我想以某种方式捕获此错误并自动刷新会话。我如何在PHP中执行此操作?
答案 0 :(得分:0)
如果它不是curl支持的协议(写作时,DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP, SMB,SMBS,SMTP,SMTPS,TELNET和TFTP),那么它不适合卷曲。或者找到该协议的客户端,或者你必须得到socket_api,并自己实现一个最小的客户端。如果您找不到自定义协议的规范,则必须对协议进行反向工程,以便自己创建最小的客户端。自己逆向工程自定义协议时,rEdoX数据包编辑器(https://github.com/divinity76/old_programs_backup/tree/rEdoX_packet_editor),作弊引擎(http://cheatengine.org/),Microsoft Message Analyzer (https://www.microsoft.com/en-us/download/details.aspx?id=44226)和Fiddler代理(http://www.telerik.com/fiddler)是我常用的工具。 (这通常发生在我想在网上视频游戏中作弊) - 但是,这通常是一个痛苦,困难和缓慢的过程。