Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 02-12-2014, 03:57
dor557
 Registrierter Benutzer
Links : Onlinestatus : dor557 ist offline
Registriert seit: Dec 2014
Beiträge: 2
dor557 befindet sich auf einem aufstrebenden Ast
Standard PHP Curl ab und zu timeout !

Hallo zusammen,

das ist mein erster beitrag. Ich hoffe das mir jemand helfen kann.

Ich bin dabei eine API für meine HP zu erstellen. Damit ich dann nicht immer alles doppelt programmieren muss und dann mittels android auf die API zugreifen kann verwende ich innerhalb der PHP seite auch curl.

nun kommt das Rätselhafte.

ab und zu bekomme ich den korrekten rückgabewert den ich erwarte.

Dann aber wieder einen timeout als würde er die url nicht finden.

das ergibt für mich keinen sinn

hier der Code (Denke aber nicht das der Helfen wird oder da ein Fehler drinnen ist.

hier mal die Classe die ich geschrieben habe

PHP-Code:
class tt_sdk
{
      var 
$ch;
      var 
$TT_APP_ID;
      var 
$TT_API_KEY;
      var 
$TT_API_VER;
      var 
$TT_API_SERVER;
      var 
$TT_URL;

       function 
tt_sdk() {
          
$this->TT_APP_ID "aus sicherheitsgründen entfernt";                  
          
$this->TT_API_KEY "gleicher grund fürs löschen";
          
$this->TT_API_SERVER 'http://beta.tuningtreffen.info';
          
$this->TT_API_VER '1';
          
$this->TT_URL $this->TT_API_SERVER.'/api/v'.$this->TT_API_VER.'/';
          
          
       }

    function 
init($func) {
         
$this->ch curl_init();
         
curl_setopt($this->chCURLOPT_HTTPHEADER, array(
              
'Content-Type: application/json',
              
'X-Parse-Application-Id: '.$this->TT_APP_ID,
              
'X-Parse-REST-API-Key: '.$this->TT_API_KEY
         
));
         
curl_setopt_array($this->ch, array(
           
CURLOPT_RETURNTRANSFER => 1,
           
CURLOPT_NOSIGNAL => 1,
           
CURLOPT_URL => $this->TT_URL.''.$func,
           
CURLOPT_USERAGENT => $_SERVER['HTTP_USER_AGENT'],
           
CURLOPT_POST => 1,
           
CURLOPT_CONTENT_TYPE => 'application/json'
         
));
        }

        function 
post_data($data) {
         if (
$_COOKIE['tt_token'] <> null) {       
            
$data['auth_token'] = $_COOKIE['tt_token'];
          }         
          
$dataString json_encode($data);
          
curl_setopt($this->chCURLOPT_POSTFIELDS$dataString);
          
curl_setopt($this->chCURLOPT_CONNECTTIMEOUT ,10); 
          
curl_setopt($this->chCURLOPT_TIMEOUT10); 
          
$response curl_exec($this->ch);
          if (
$response === false) {
            echo 
"fehler";
            
$result['error']['curl'] = curl_error($this->ch);
            
$result['error']['url'] = curl_getinfo($this->chCURLINFO_EFFECTIVE_URL);
          }
          
$res_code curl_getinfo($this->chCURLINFO_HTTP_CODE);
          
$result['error']['url'] = curl_getinfo($this->chCURLINFO_EFFECTIVE_URL);
          
curl_close($this->ch);
          
$result['error']['code'] = $res_code;

          
$result['response'] = json_decode($response,true);
          return 
$result;
        }

wie gesagt ab und zu bekomme ich das gewünschte ergebnis und ab und zu gibt es n timout das mir dann der $res_code = 0 ausgibt.

wie in gottes namen kann das sein ?

gruss Sascha
Mit Zitat antworten