示例#1
0
 public static function form($data)
 {
     if (is_array($data) || is_object($data) || $data instanceof \Traversable) {
         return http_build_query(Request::buildHTTPCurlQuery($data));
     }
     return $data;
 }
示例#2
0
 public static function doRequest(TaskRequest $request, $taskType)
 {
     if ($request->isDelay()) {
         return null;
     }
     output($request->name, $request->id);
     $httpRequest = HttpRequest::create();
     try {
         if ($request->authorization) {
             $httpRequest->auth($request->authorization['type'], $request->authorization['user'], $request->authorization['password']);
         }
         switch ($request->timeout[0]) {
             case 's':
                 $httpRequest->timeout($request->timeout[1]);
                 break;
             case 'ms':
                 $httpRequest->timeoutMs($request->timeout[1]);
                 break;
         }
         if ($request->proxy) {
             $httpRequest->proxy($request->proxy['address'], $request->proxy['port'], $request->proxy['type'], $request->proxy['tunnel']);
             if (!empty($request->proxy['auth'])) {
                 $httpRequest->proxyAuth($request->proxy['auth']['user'], $request->proxy['auth']['password'], $request->proxy['auth']['method']);
             }
         }
         $httpResponse = $httpRequest->send($request->method, $request->url, $request->data, $request->headers);
         output($httpResponse->curl_info, $httpResponse->code);
     } catch (GlobalException $ex) {
         output($ex->getMessage());
     }
     // 释放内存
     $httpRequest = null;
     unset($httpRequest);
 }
示例#3
0
 private function testJsonFile()
 {
     output(__METHOD__);
     try {
         $httpRequest = HttpRequest::create();
         $httpResponse = $httpRequest->get("https://freegeoip.net/json/8.8.8.8");
         // output($httpResponse);
         $watcher = HttpWatcher::create($httpResponse);
         $watcher->assertStatusCode(200)->assertHeadersExist(array("Content-Length"))->assertHeaders(array())->assertBodyJsonFile(__DIR__ . "/_json/freegeoip.net.json", true);
     } catch (GlobalException $ex) {
         output($ex->getMessage(), __METHOD__);
     }
 }