4

POSTデータをPHPスクリプトに送信するスクリプトを作成した会社と協力しています(これはすべてセットアップされ、ポートが適切に転送されているなどです)。

問題は、私のスクリプトが POST 要求を処理するように設定されていないということです。

これは彼らのスクリプトです:

試す

        strPost = strPost.Trim.Replace(" ", "%20")



        Dim objRequest As HttpWebRequest = WebRequest.Create(strPostURL)

        objRequest.Method = "POST"

        objRequest.ContentLength = strPost.Length

        objRequest.ContentType = "application/x-www-form-urlencoded"



        Try

            myWriter = New StreamWriter(objRequest.GetRequestStream())

            myWriter.Write(strPost)

        Catch eg As Exception



        Finally

            myWriter.Close()

        End Try



        Dim objResponse As HttpWebResponse = objRequest.GetResponse()

        Dim sr As StreamReader

        sr = New StreamReader(objResponse.GetResponseStream())

        success = sr.ReadToEnd()

        sr.Close()



        success = "Post Successful"



    Catch ex As Exception

        success = ex.ToString

    End Try

そして、ここに私のものがあります:

<?PHP

$website = $_POST['web'] ;
$name = $_POST['name'] ;
$tel = $_POST['tel'] ;
$town = $_POST['town'] ;

foreach($_POST as $key => $thisOne){
$out .= $key . ': ' . $thisOne ;
}
if($out)
mail('test@test.com', 'Test', $out) ;
?>

$_POST を使用するのが正しいので、スクリプトが POST データを処理するように設定されていないことの意味がわかりません。


返信ありがとうございます。私はそう思っていましたが、彼は私のスクリプトに欠陥があると断言しています。

これは彼が言っているエラーです:

.NET エラー


彼はまだそのエラーが発生し、次のように言っています。

私たちが使用するコードは、Sales Force、Sage、および以前に行った他の 7 つのカスタム CRM 統合で機能します。

:(


ありがとう、http://apikitchen.com/で適切にテストできることがわかり、問題なく戻ってきました。ご協力いただきありがとうございます!あなたが言うように彼に違いない。


彼は今、新しいエラーが発生していると私に言っています!

ここに画像の説明を入力


彼は私に次のメッセージを送ってくれました。

Try
strPost = "name=lf&town=london&country=uk&web=www.lf.com&tel=0123456789&keywords=sales&pages=5&multivisit=multihitdt=2012/04/30%2014:31referrer=google&landing=home"

        strPost = strPost.Trim.Replace(" ", "%20")



        Dim objRequest As HttpWebRequest = WebRequest.Create("http://mysite.dyndns-remote.com/myscript.php")

        objRequest.Method = "POST"

        objRequest.ContentLength = strPost.Length

        objRequest.ContentType = "application/x-www-form-urlencoded"



        Try

            myWriter = New StreamWriter(objRequest.GetRequestStream())

            myWriter.Write("name=lf&town=london&country=uk&web=www.lf.com&tel=0123456789&keywords=sales&pages=5&multivisit=multihitdt=2012/04/30%2014:31referrer=google&landing=home")

        Catch eg As Exception



        Finally

            myWriter.Close()

        End Try



        Dim objResponse As HttpWebResponse = objRequest.GetResponse()

        Dim sr As StreamReader

        sr = New StreamReader(objResponse.GetResponseStream())

        success = sr.ReadToEnd()

        sr.Close()



        success = "Post Successful"



    Catch ex As Exception

        success = ex.ToString

    End Try
4

1 に答える 1

3

彼が Web リクエストに渡している URI は有効ではないようです (例外はそれが空であると言っています)。これは、strPostURLここに示したスタック トレース イメージの最後の行のパラメーターです。

電話をかけるときに適切な URL を使用するように彼にSalesForcePost.fncPost伝えれば、すべてうまくいくはずです。

これは決してあなたのせいではなく、POST を正しく処理していないこととは何の関係もありません。それは彼のせいです。彼にそう言って、もし彼があなたの言うことを信じないなら、彼をここに送ってコードを見せてください。

EDIT
新しいエラーについて: ここでも同じです。彼は有効な URI 文字列を渡していません。これは、彼が「htt://sometest.com」または「http:/sometest.com」のようなものを渡しているためである可能性があります。fncPostメソッドがどのように呼び出されるかを確認するために必要なすべてのコードと、メソッドのほとんどのコード (fncPost少なくとも彼が Web 要求を作成する部分)を投稿しない限り、これ以上の支援はできません。

あなたが投稿したコードは彼の実際のコードではありません。

于 2012-04-30T11:23:18.997 に答える