vendor/codeages/rest-api-client/src/HttpRequest/CurlHttpRequest.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace Codeages\RestApiClient\HttpRequest;
use Codeages\RestApiClient\Exceptions\ServerException;
use Codeages\RestApiClient\Exceptions\ResponseException;
class CurlHttpRequest extends HttpRequest
{
public function request($method, $url, $body, array $headers = array(), $requestId = '')
{
$this->debug && $this->logger && $this->logger->debug($this->message($requestId, "{$method} {$url}"), array('headers' => $headers, 'body' => $body));
$curl = curl_init();
curl_setopt($curl, CURLOPT_USERAGENT, $this->options['userAgent']);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $this->options['connectTimeout']);
curl_setopt($curl, CURLOPT_TIMEOUT, $this->options['timeout']);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
if ($method == 'POST') {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
} elseif ($method == 'PUT') {
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
} elseif ($method == 'DELETE') {
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
} elseif ($method == 'PATCH') {
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
} else {
if (!empty($params)) {
$url = $url.(strpos($url, '?') ? '&' : '?').http_build_query($params);
}
}
curl_setopt($curl, CURLOPT_URL, $url);
$response = curl_exec($curl);
$curlinfo = curl_getinfo($curl);
$header = substr($response, 0, $curlinfo['header_size']);
$body = substr($response, $curlinfo['header_size']);
curl_close($curl);
$context = array(
'CURLINFO' => $curlinfo,
'HEADER' => $header,
'BODY' => $body
);
$this->debug && $this->logger && $this->logger->debug($this->message($requestId, 'Response context.'), $context);
if (empty($curlinfo['namelookup_time'])) {
$message = $this->message($requestId, "Dns look up timeout (url: {$url}).");
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。