2012-01-03 5 views
0

ファイルを受信して​​応答を返すPHPスクリプトがあります。HTTP応答にはわからないテキストが含まれています

PHPスクリプトは、このような応答を返す:私はPuTTYのからPOSTリクエストを行うと

echo "<response><status>success</status><message>file received: test.txt</message></response>"; 

、私が受け取る応答はこれです:

6b 
<response><status>success</status><message>file received: test.txt</message></response> 

応答に応じて、6bを他にも何かがあるだろうか?これは16進数の応答の長さですか?

PHPスクリプト。現在、私は単純にファイルをPOSTしてレスポンスを受け取って解析することができます。したがって、PHPファイルはベアボーンです。

<?php 
    if (array_key_exists('file',$_FILES) && $_FILES['file']['size'] != 0) 
    { 
    $status = 'success'; 
    $message = "File received: " . $_FILES['file']['name']; 
    } 
    else 
    { 
    $status = 'failed'; 
    $message = "No file received."; 
    } 

    $reply = "<response>" 
      ."<status>" . $status . "</status>" 
      ."<message>" . $message . "</message>" 
      ."</response>"; 

    echo $reply; 
?> 

私はパテにポート80を超えるRAWの接続を確立し、このようなPOSTリクエストを作っています:

POST /file_post.php HTTP/1.1 
Host: example.com 
Connection: Keep-Alive 
Content-Length: 212 
UserAgent: Mozilla/5.0 
Content-Type: multipart/form-data; boundary=---------------------8ce9826eb81af6a 

-----------------------8ce9826eb81af6a 
Content-Disposition: form-data; name="file"; filename="test.txt" 
Content-Type: application/octet-stream 
TestData 
-----------------------8ce9826eb81af6a-- 

REPONSEこれは、転送チャンクエンコーディングされ

enter image description here

+0

私は6bが何であるか分かりませんが、キャラクタの長さ(87d)は57hです。 – Bojangles

+0

PHPでどのようにレスポンスを取得していますか?カールする場合は、CURLOPT_HEADERを使用して、ヘッダーと本文の応答を表示します。それはあなたがPuTTyで得るものと一致しますか? – ben

+3

PHPスクリプトのソースコードはここで便利です。もし実際には16進数でのメッセージの長さ(*ここではhttp://www.binaryhexconverter.com/hex-to-decimal-converter)はあなたがチェックするのに役立つ電卓です[chunked transfer-encoding](http://en.wikipedia.org/wiki/Chunked_transfer_encoding) – DaveRandom

答えて

関連する問題