كيف يمكنني إرسال طلب HTTPS في بيرل دون LWP :: وكيل المستخدم أو HTTP :: طلب؟

StackOverflow https://stackoverflow.com/questions/1228572

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا في حاجة الى ارسال طلب HTTPS دون استخدام LWP :: وكيل المستخدم أو HTTP :: طلب؟ ما هي طريقة أخرى للقيام بذلك؟ هذا هو طلب الإدخال في حاجة الى ارسال:

POST https://payflowpro.paypal.com/
Connection: close
Host: payflowpro.paypal.com
Content-Length: 181
Content-Type: text/namevalue
X-VPS-CLIENT-TIMEOUT: 30
X-VPS-REQUEST-ID: 1249403513SNOID
X-VPS-VIT-INTEGRATION-PRODUCT: Product
X-VPS-VIT-INTEGRATION-VERSION: 4.0
X-VPS-VIT-OS-NAME: linux
X-VPS-VIT-OS-VERSION: 2.6.16-gentoo-r13
X-VPS-VIT-RUNTIME-VERSION: 5.008007

EXPDATE[4]=1011&AMT[6]=100.01&ACCT[16]=4111111111111111&TENDER[1]=C&TAXAMT[4]=0.00&PARTNER[8]=******&PWD[9]=******&VENDOR[6]=******&USER[6]=******&TRXTYPE[1]=S&VERBOSITY=MEDIUM
هل كانت مفيدة؟

المحلول 3

وبفضل حزم إشارة سنان Ünür وكنت قادرا على إنجاز ما يلزم:

my $host = 'pilot-payflowpro.paypal.com';
my $port = 443;
my $sock = IO::Socket::SSL->new("$host:$port") || die $!;

my $req = 'EXPDATE[4]=1011&AMT[6]=100.01&ACCT[16]=4111111111111111&TENDER[1]=C&TAXAMT[4]=0.00&PARTNER[8]=*****&PWD[9]=******&VENDOR[6]=*****&USER[6]=******&TRXTYPE[1]=S&VERBOSITY=MEDIUM';

print $sock "POST https://$host/ HTTPS/1.1\r\n";
print $sock "Connection: close", "\r\n";
print $sock "Host: ", $host, "\r\n";
print $sock "Content-length: ", length $req, "\r\n";
print $sock "Content-type: text/namevalue\r\n";
print $sock "X-VPS-CLIENT-TIMEOUT: 30", "\r\n";
print $sock "X-VPS-REQUEST-ID: 1249403513SNOID", "\r\n";
print $sock "X-VPS-VIT-INTEGRATION-PRODUCT: Product", "\r\n";
print $sock "X-VPS-VIT-INTEGRATION-VERSION: 4.0", "\r\n";
print $sock "X-VPS-VIT-OS-NAME: linux", "\r\n";
print $sock "X-VPS-VIT-OS-VERSION: 2.6.16-gentoo-r13", "\r\n";
print $sock "X-VPS-VIT-RUNTIME-VERSION: 5.008007", "\r\n\r\n";
print $sock $req, "\r\n\r\n";

print while <$sock>;

close $sock;

نصائح أخرى

هل تبحث عن README.SSL ؟

<اقتباس فقرة>   

ويتم الحصول على الدعم من خلال التشفير   استخدام القبو :: SSLeay أو    IO :: :: المقبس SSL ، والتي يمكن أن يكون كل من   وجدت من CPAN. بينما يبووو-بيرل لديها   "التوصيل والتشغيل" دعم لكلا   هذه الوحدات (اعتبارا من v5.45)، و   وحدة الموصى بها لاستخدامها موجودة    القبو :: SSLeay .

وابحث عن مكتبة SSL وفتح مقبس نفسك، ثم ترسل البيانات في.

وأنا أنصح ضد ذلك على الرغم من. أفضل بكثير للقيام بذلك بشكل صحيح عن طريق واحدة من وحدات ذكرتم عن طريق تغذية وحدة المعلمات الصحيحة لذلك سوف تفعل الطلب الذي تريد.

ولست متأكدا من انها ذكية أن تعطينا إلكترونيك paypal طلب الهوية وغيرها من البيانات ... وبيانات دقيقة يتم إرسالها إلى الملقم غير ذي حقا هنا. ما يهم أكثر هو نوع من الخطأ كنت تحصل عند استخدام LWP :: وكيل المستخدم. أشرت في السؤال السابق الذي كنت الحصول على HTTP 500 أخطاء، مما يوحي هناك شيء خاطئ مع المتلقي، أو تقوم بإرسال البيانات التي يتم رفضها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top