выполнить XML запрос

Тема в разделе "PHP Pro", создана пользователем Kolombo, 29 янв 2010.

Статус темы:
Закрыта.
  1. Kolombo

    Kolombo Постоялец

    Регистр.:
    5 фев 2008
    Сообщения:
    64
    Симпатии:
    4
    В общем есть страница к которой нужно сделать XML запрос такого плана
    Код:
    <?xml version="1.0" encoding="utf-8"?> 
    <Response> 
    <Var1>value</Var1> 
    <Var2>value</Var2> 
    </Response>
    ссылка куда делается запрос такого плана
    site.ru/script.asp

    нужно делать запрос постом. пишу такой код

    Код:
    $request="<?xml version=\"1.0\" encoding=\"utf-8\"?> 
    <Response> 
    <Var1>value</Var1> 
    <Var2>value</Var2> 
    </Response>";
    $url = "/script.asp";
       $fp = fsockopen('site.ru',80,$errno,$errstr,500);
       
       if(!$fp){
        return false;
        //die("Error");
       }else{
    
    	 		fputs($fp, "POST $url HTTP/1.0\r\nHost: site.ru\r\nContent-type: application/xml\r\nContent-length: ". strlen($request) ."\r\n\r\n");
    
    		fputs($fp, $request);
    
    	 
         while(!feof($fp)){
          $res .= fgets($fp,1024);
         }
         fclose($fp);
        } 
    	
    	
    echo $res;
    Но скрипт возвращает ошибку.

    ПОдскажите кто разбирается. Может можно как-то по другому делать запрос.
    Заранее огромное спс
     
  2. got4a

    got4a Создатель

    Регистр.:
    8 сен 2007
    Сообщения:
    45
    Симпатии:
    2
    PHP:
    <?php
    function qwe() {
        
    $request="<?xml version=\"1.0\" encoding=\"utf-8\"?> 
            <Response> 
            <Var1>value</Var1> 
            <Var2>value</Var2> 
            </Response>"
    ;
        
    $url "/script.asp";
        
    $fp fsockopen('site.ru',80,$errno,$errstr,500);
        if(!
    $fp) {
            return 
    FALSE;
            
    #die("Error");
        
    } else {
            
    fputs($fp"POST $url HTTP/1.0\r\nHost: site.ru\r\nContent-type: application/xml\r\nContent-length: "strlen($request) ."\r\n\r\n");
            
    fputs($fp$request);
            while(!
    feof($fp)) {
                
    $res .= fgets($fp,1024);
            }
            
    fclose($fp);
        }
        return 
    $res;
    }

    echo 
    qwe();
    Только что проверил сам скрипт, все работет.

    Какая ошибка выскакивает ???
     
  3. betatest

    betatest

    Регистр.:
    3 дек 2007
    Сообщения:
    517
    Симпатии:
    127
    вот поподробнее про ошибку

    у вас там, случайно, не авторизация требуется?
     
Статус темы:
Закрыта.