urlscan.io скрипт PHP curl

У меня возникла проблема с завершением скрипта PHP/Curl для сканера на https://urlscan.io .

Я использую PHP-скрипт POST Curl, вам может потребоваться подписаться на бесплатный API и добавить их в этот код для тестирования. Или, если вы найдете ошибку в моем скрипте, это может решить мою проблему.

Может кто-нибудь сказать мне, что я делаю неправильно здесь?

Вот мой код:

      $request = [
    'url' => 'http://www.ocexperuenchile.cl/excel/d45374ccb189251d72aab671e2baf619/',
    'visibility' => 'unlisted'
];
            
        $urlStr = 'https://urlscan.io/api/v1/scan/';
        $refURL = htmlspecialchars("", ENT_QUOTES);
        $uaStr = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36';
        if(!empty($urlStr)){
            $curl = curl_init();
            curl_setopt($curl, CURLOPT_URL, $urlStr);
            curl_setopt($curl, CURLOPT_VERBOSE, 0);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_HEADER, 1);
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $request);
            curl_setopt($curl, CURLOPT_HTTPHEADER, "API-Key: YOURAPIKEY");
            curl_setopt($curl, CURLOPT_VERBOSE, 0);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($curl, CURLOPT_MAXREDIRS, 1);
            curl_setopt($curl, CURLOPT_REFERER, $refURL);
            curl_setopt($curl, CURLOPT_USERAGENT, $uaStr);
            $return = curl_exec($curl);
            $info = curl_getinfo($curl);
            if ($return === false || $info['http_code'] != 200) {
                $return = "No cURL data returned for $urlStr [". $info['http_code']. "]<br><br>DATA: ".$return;
                if (curl_error($curl)){
                    $return .= "\n". curl_error($curl);
                }
            }
            @curl_close($curl);
            
            $data = explode("\r\n\r\n",$return);
            
            $source="";
            
            for($i=0;$i<=sizeof($data)-1;){
                $source.=$data[$i];
                $i++;
            }
            echo $source;   
                
            }

У меня есть эта ошибка неправильного запроса :(

      No cURL data returned for https://urlscan.io/api/v1/scan/ [400]<br><br>DATA: HTTP/1.1 400 Bad Request
Server: nginx
Date: Fri, 27 May 2022 02:40:56 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 270
Connection: keep-alive
Vary: Accept
ETag: W/"10e-Ue5yDLjIEPiPMCv+X98fFPH6+24"{
  "message": "Field validation error",
  "description": "(Field 'url': must be between 5 and 32000 characters)",
  "status": 400,
  "fieldErrors": [
    {
      "msg": "must be between 5 and 32000 characters",
      "param": "url",
      "location": "body"
    }
  ]
}

Если кто-то использует эту платформу, вы можете мне помочь?

заранее спасибо

Энтони

0 ответов

Другие вопросы по тегам