实习这段时间主要在写PHP和很少的Python和Java。之前写过的PHP不超过100行,Java几乎没写过,算是都入了个门。
项目需要作为客户端发起HTTP请求,查一些API来分析一些数据,于是就接触了cURL这个库。作为天生的web语言,PHP在这方面真是太厉害了,居然自带了HTTP请求的函数。除了cURL外,file_get_contents
这个函数也可以发起HTTP请求,不过不是专门干这个的,不好配置参数,还是cURL好。
官方文档里的例子很有用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
主要就是对curl的选项进行配置,即curl_setopt()
这个函数。有几个参数很重要:
CURLOPT_URL
:url,没得说CURLOPT_RETURNTRANSFER
:设为1才会将响应结果存到变量,否则会echo到页面CURLOPT_HTTPHEADER
:设置一个HTTP请求头,必须为array
,否则会报错CURLOPT_TIMEOUT
:设置cURL执行超时长度,单位是秒,注意是执行时间,而不是连接时间,那要用CURLOPT_CONNECTTIMEOUT
CURLOPT_TIMEOUT_MS
:同上,毫秒
更多的配置查手册吧。
有时候执行完curl_exec()
会发现没有任何东西返回,这时候需要curl_errno()
和curl_error()
来查看错误号和错误原因了,不过一定要放在curl_exec()
后面,不要像我一样蠢……(躲角落哭)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
别忘了PHP才是最好的语言!
参考资料
[1] Client URL Library
[2] Setting Curl’s Timeout in PHP