PHP第六篇:模拟浏览器post提交cookie和参数,获取返回值

博客介绍了自定义的post方法,同时提到header里的cookie需从想请求的网页获取,可复制完整cookie信息替换到post方法中,还表示该实现可进一步改进。

下面是自定义的post方法:

function post($url,$post_data,$location = 0,$reffer = null,$origin = null,$host = null){
     $header = array( //头部信息,上面的函数已说明
                'Accept: application/json, text/javascript, */*; q=0.01',
				'Accept-Encoding: gzip, deflate',
				'Accept-Language: zh-CN,zh;q=0.9',
				'Connection: keep-alive',
				'Content-Length: 779',
				'Content-Type: application/x-www-form-urlencoded',
				'Cookie: 这个header信息可以直接复制网址上的',
				'Host: www.taokouling.com',
				'Origin: http://www.taokouling.com',
				'Referer: http://www.taokouling.com/index/taobao_ehylj/',
				'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
				'X-Requested-With: XMLHttpRequest',

            );
            
            $curl = curl_init();  //这里并没有带参数初始化
       
            curl_setopt($curl, CURLOPT_URL, $url);//这里传入url
            
            curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
            
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);//对认证证书来源的检查,不开启次功能
            
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);//从证书中检测 SSL 加密算法
            
            curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36");
            //模拟用户使用的浏览器,自己设置,我的是"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0"
            
            curl_setopt($curl, CURLOPT_AUTOREFERER, 1);//自动设置referer
            
            curl_setopt($curl, CURLOPT_POST, 1);//开启post
            
            curl_setopt($curl, CURLOPT_ENCODING, "gzip, deflate" );
            
            curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);//要传送的数据
            
            curl_setopt($curl, CURLOPT_COOKIE, "cookie来源于浏览器复制");//以变量形式发送cookie
            
            curl_setopt($curl, CURLOPT_TIMEOUT, 30);//设置超时限制,防止死循环
            
            curl_setopt($curl, CURLOPT_HEADER, 1);
            
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            
            $tmpInfo = curl_exec($curl);
            return $tmpInfo;
            
        }

 

PS:header里面的cookie需要在你想请求的网页上获取。获取方式如下:

这里面复制完整的cookie信息,替换到上面的post方法,这个你们可以改进,我只是实现了这个东西。

### 如何在Cadence中设置导出GDS文件文件夹路径 在Cadence设计环境中,导出GDS文件是将版图设计转化为可供制造使用的标准格式的重要步骤。以下是关于如何设置导出GDS文件夹路径的方法: #### 1. 使用Export GDS功能 在Cadence Virtuoso环境中,可以通过以下步骤设置导出GDS文件的路径: - 打开Virtuoso Layout Editor。 - 在菜单栏中选择 `File -> Export -> GDSII`[^3]。 - 弹出的窗口中,找到 `Output File` 选项,点击右侧的浏览按钮,选择或输入目标文件夹路径文件名。 - 确保指定的路径存在,如果不存在,可以手动创建。 #### 2. 设置环境变量 Cadence支持通过环境变量来定义默认的输出路径。可以在启动Cadence之前,设置相关的环境变量: ```bash export CADENCE_OUTPUT_PATH=/path/to/your/gds/folder ``` 在导出GDS时,工具会优先使用此环境变量中的路径作为默认输出位置[^4]。 #### 3. 修改技术文件(Techfile) 技术文件(Techfile)中可以定义默认的输出路径。打开对应的技术文件,查找与GDS输出相关的配置项。例如: ```tcl set gds_output_path /path/to/your/gds/folder ``` 保存并重新加载技术文件后,所有GDS导出操作都会默认使用该路径[^5]。 #### 4. 使用命令行方式 可以通过Tcl脚本或命令行直接指定导出路径。例如: ```tcl gds write -output /path/to/your/gds/folder/design.gds ``` 上述命令会将当前设计导出到指定路径下的 `design.gds` 文件中。 #### 5. 配置用户偏好设置 Cadence允许用户通过偏好设置(Preferences)来定义常用的工作路径。进入 `Tools -> Options -> Preferences`,找到与文件输出相关的选项,设置默认的GDS导出路径[^6]。 --- ### 示例代码 以下是一个简单的Tcl脚本示例,用于自动化导出GDS文件并指定路径: ```tcl # 定义输出路径 set output_path "/path/to/your/gds/folder" # 检查路径是否存在,若不存在则创建 if {![file isdirectory $output_path]} { file mkdir $output_path } # 导出GDS文件 gds write -output "${output_path}/design.gds" ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值