Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有人知道如何将这个Perl脚本转换成PHP吗?_Php_Perl_Http - Fatal编程技术网

有人知道如何将这个Perl脚本转换成PHP吗?

有人知道如何将这个Perl脚本转换成PHP吗?,php,perl,http,Php,Perl,Http,有人刚刚在我身上扔了一个perl脚本,现在这是我的问题。我对Perl一无所知。这是剧本 #! /usr/bin/perl use HTTP::Request::Common qw(POST); use LWP::UserAgent; $ua = LWP::UserAgent->new; my $req = POST 'http://www.someurl.com/aff/', [ search => 'www', errors => 0 ]; my $xml = "<

有人刚刚在我身上扔了一个perl脚本,现在这是我的问题。我对Perl一无所知。这是剧本

#! /usr/bin/perl
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new;

my $req = POST 'http://www.someurl.com/aff/', [ search => 'www', errors => 0 ];

my $xml = "<?xml version='1.0' encoding='UTF-8' ?>
<data xmlns='https://www.aff.gov/affSchema' sysID='Adin'
rptTime='2010-06-07T14:10:30.758-07:00' version='2.23'>
<msgRequest to='Co' from='trt' msgType='Data Request' subject='Async'
dateTime='2010-06-07T14:10:30.758-07:00'>
<body>2010-06-07T14:50:06Z</body>
</msgRequest>
</data>";

$req->content( $xml );
my $username = "providedUserName";
my $password = "providedPW";

$req->authorization_basic($username, $password);

print $ua->request($req)->as_string;
#/usr/bin/perl
使用HTTP::Request::Common qw(POST);
使用LWP::UserAgent;
$ua=LWP::用户代理->新建;
我的$req=POST'http://www.someurl.com/aff/“,[search=>www',errors=>0];
我的$xml=”
2010-06-07T14:50:06Z
";
$req->content($xml);
我的$username=“providedUserName”;
我的$password=“providedPW”;
$req->authorization\u basic($username,$password);
将$ua->request($req)->打印为_字符串;
据我所知,它正在创建一个HTTP请求对象,添加一些内容并打印响应。Google告诉我,我需要安装一个Perl包来获取PHP中的HTTPRequest对象,这不是一个选项。是否有任何方法可以使用cURL或file\u get\u内容或其他内容来实现这一点


我会继续修补,但如果有人知道怎么做,那么至少可以节省我的时间。

这是一个内容类型为“text/xml”的HTTP POST请求。我相信您可以使用cURL实现这一点,如下所示(示例改编自,未经测试):

$x=curl\u init(“http://www.someurl.com/aff/");
curl_setopt($x,CURLOPT_HTTPHEADER,array('Content-Type:text/xml'));
curl_setopt($x,CURLOPT_头,0);
curl_setopt($x,CURLOPT_POST,1);
curl_setopt($x,CURLOPT_RETURNTRANSFER,1);
$xml=”
2010-06-07T14:50:06Z
";
curl_setopt($x,CURLOPT_POSTFIELDS,$xml);
$username=“providedUserName”;
$password=“providedPW”;
curl_setopt($x,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($x,CURLOPT_USERPWD,“$username:$password”);
$data=curl\u exec($x);

这是一个内容类型为“text/xml”的HTTP POST请求。我相信您可以使用cURL实现这一点,如下所示(示例改编自,未经测试):

$x=curl\u init(“http://www.someurl.com/aff/");
curl_setopt($x,CURLOPT_HTTPHEADER,array('Content-Type:text/xml'));
curl_setopt($x,CURLOPT_头,0);
curl_setopt($x,CURLOPT_POST,1);
curl_setopt($x,CURLOPT_RETURNTRANSFER,1);
$xml=”
2010-06-07T14:50:06Z
";
curl_setopt($x,CURLOPT_POSTFIELDS,$xml);
$username=“providedUserName”;
$password=“providedPW”;
curl_setopt($x,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($x,CURLOPT_USERPWD,“$username:$password”);
$data=curl\u exec($x);

该软件包是一个PECL扩展,有时可用于PHP5.3安装。但您也可以使用它,它可以像大多数PHP类一样解包并就地使用。该包是一个PECL扩展,有时在PHP5.3安装上可用。但您也可以使用它,它可以像大多数PHP类一样解包并就地使用。否则,即使是用于发出HTTP requests.CURLOPT_POSTFIELDS的“此参数也可以作为URL编码的字符串(如“para1=val1¶2=val2&…”传递,或者作为字段名为键、字段数据为值的数组传递。”ref:比我预期的要多。你只是为我做了我的工作。谢谢CURLOPT_POSTFIELDS'此参数可以作为urlencoded字符串(如'para1=val1¶2=val2&…')传递,也可以作为字段名为键、字段数据为值的数组传递。'ref:比我预期的要多。你只是为我做了我的工作。谢谢
$x = curl_init("http://www.someurl.com/aff/");
curl_setopt($x, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($x, CURLOPT_HEADER, 0);
curl_setopt($x, CURLOPT_POST, 1);
curl_setopt($x, CURLOPT_RETURNTRANSFER, 1);

$xml = "<?xml version='1.0' encoding='UTF-8' ?>
  <data xmlns='https://www.aff.gov/affSchema' sysID='Adin'
    rptTime='2010-06-07T14:10:30.758-07:00' version='2.23'>
      <msgRequest to='Co' from='trt' msgType='Data Request' subject='Async'
        dateTime='2010-06-07T14:10:30.758-07:00'>
          <body>2010-06-07T14:50:06Z</body>
      </msgRequest>
  </data>";
curl_setopt($x, CURLOPT_POSTFIELDS, $xml);

$username = "providedUserName";
$password = "providedPW";
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($x, CURLOPT_USERPWD, "$username:$password");

$data = curl_exec($x);