2011-12-30 6 views
1

私はこの関数を使用して文字列を送信しようとしています。HTTP PUTが機能しません

function submit_report_http 
{ 
    param($report) 
    trap{return 1} 
    if($verbose -gt 1){minfo 'Sending report via http, url is ' + $http_url} 
    $webRequest = [System.Net.WebRequest]::Create($http_url) 
    $webRequest.ContentType = "text/html" 
    $PostStr = [System.Text.Encoding]::UTF8.GetBytes($report) 
    $webrequest.ContentLength = $PostStr.Length 
    $webRequest.ServicePoint.Expect100Continue = $false 
    if($verbose -gt 1){minfo ' authenticating user: ' + $http_user} 
    $webRequest.Credentials = New-Object System.Net.NetworkCredential -ArgumentList $http_user, $http_pass 
    $webRequest.PreAuthenticate = $true 
    $webRequest.Method = "PUT" 
    $requestStream = $webRequest.GetRequestStream() 
    $requestStream.Write($PostStr, 0,$PostStr.length) 
    $requestStream.Flush() 
    $requestStream.Close() 
} 

私はラインを取得する場合:

$requestStream = $webrequest.GetRequestStream() 

スクリプトが無限ループに行くようです。

誰でも問題を見ることができますか?

Gísli

+0

あなたのサーバーでHTTP PUTが有効になっていますか? – kosa

+0

はい、他のスクリプトで使用されています – Gisli

+0

クライアントでFiddlerを使用して、要求と応答で何か起こっていることを確認できます。 – CodeMonkey1313

答えて

1

私はワイヤーで起こっともサーバーのログをチェックしていますか見てWireSharkの使用をお勧めします。

+0

ありがとうございます。私は間違ったことは見つけられなかった。それは何らかのネットワーク問題であったに違いない。しかし、それは今働いている – Gisli

関連する問題