2014-01-21 21 views
1

的情况是从一个PHP应用程序在server1的文件发送到Server2上一个C#.NET应用程序,但:
无法与卷曲的文件发送到另一台服务器

  • 边使用发送文件简单的HTML表单,目标服务器可以毫无问题地收到它
  • 使用cURL发送文件并使用PHP通过server1接收文件时,文件接收没有问题。
  • 在使用卷曲发送该文件,我从目标服务器

请注意,我没有访问到目标服务器及其管理是确保一切是因为成功提交好吗出现错误500 HTML表单。

<?php 
$filedata = $fileName; 
$headers = array("Content-Type:multipart/form-data"); 
$postfields = array("filedata" => "@$filedata", "filename" => $fileName); 
$ch = curl_init(); 
$options = array(
    CURLOPT_URL => 'http://server1/newspanel/index.php/jnews/get', //200 
    //CURLOPT_URL => 'http://server2/postphoto.aspx', //500 
    CURLOPT_HEADER => true, 
    CURLOPT_POST => 1, 
    CURLOPT_HTTPHEADER => $headers, 
    CURLOPT_POSTFIELDS => $postfields, 
    CURLOPT_INFILESIZE => filesize($filedata), 
    CURLOPT_RETURNTRANSFER => true 
); 
curl_setopt_array($ch, $options); 
curl_exec($ch); 

什么是worng与我的代码,只有我可以接收文件?

+0

认真吗?没有人? –

+1

对我来说很好。 –

+0

@kohjah它对我来说也很好,但是当我发送一个文件时,我仍然收到错误500。 –

回答

0

问题是.net对请求的头部参数很敏感,PHP不是!
您必须像cURL一样提供所有参数,就像浏览器向服务器发送请求一样。
发送参数如Accept-Encoding,Accept-Language,Cache-Control,Connection,User-Agent等似乎是解决了这个问题。

相关问题