कर्ल को PowerShell में परिवर्तित करना-वेबराइवेट परिवर्तित करना



curl header (1)

आपको एक फार्म में मापदंडों को एक हैश में रखना होगा और यह सुनिश्चित करना होगा कि आपके पास फ़ाइल की सामग्री है, फ़ाइल नाम से नहीं, अनुरोध में।

प्रयत्न:

$body = @{ format = "XYZUser License Upload"; file1 = $(gc $FullPathTSVToSend) }
Invoke-WebRequest -Body $body -Uri "https://website.com/action/directSubscriptionUpload" -Credential $mycreds -Verbose -WebSession $myWebSession -OutFile $outFilePath -Method Post -ContentType "multipart/form-data"

मैं इन दो curl आदेशों को परिवर्तित करने की कोशिश कर रहा हूं। मैं वर्बोस को आउटपुट करने पर केवल अनिश्चित हूँ और अगर मेरी कुकी में I2KBRCK = 1 की आवश्यकता होती है और हेडर डंप कैसे करें

%CURL_FOLDER%\curl --verbose --insecure --cookie-jar %OUTPUT_FOLDER%\cookiejar.txt --cookie I2KBRCK=1 --data [email protected].org --data password=pass --dump-header %OUTPUT_FOLDER%\headers_received_1.txt --output %OUTPUT_FOLDER%\curl_output_1.html --location https://website.com/action/doLogin  > %OUTPUT_FOLDER%\curl_verbose_output.txt 2>&1
%CURL_FOLDER%\curl --verbose --insecure --cookie %OUTPUT_FOLDER%\cookiejar.txt --form file1[email protected]%TSV_UPLOAD_FILE% --form format="XYZ User License Upload" --form email=email.org --dump-header %OUTPUT_FOLDER%\headers_received_2.txt --output %OUTPUT_FOLDER%\curl_output_2.html https://website.com/something >> %OUTPUT_FOLDER%\curl_verbose_output.txt 2>&1

मैंने कर्ल को इस शक्तिशेल में बदल दिया।

$outFilePath = 'C:\Users\blah\Desktop\curl_output_1.html'
$outFilePathVerbose = 'C:\Users\blah\Desktop\curl_verbose_output.txt'

$secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("[email protected]", $secpasswd)

Invoke-WebRequest -Uri "https://website.com/doLogin" -Credential $mycreds -Verbose -SessionVariable myWebSession -Method Post -OutFile $outFilePath 
Invoke-WebRequest -InFile $someFile -Uri "https://website.com/something" -Credential $mycreds -Verbose -WebSession $myWebSession -Method Post -OutFile $outFilePath

मैंने दूसरे कर्ल आदेश को पावरशेर में दूसरे तरीके से बदलने की कोशिश की और 500 त्रुटि के बजाय 404 त्रुटि मिली ...

$body = @"
format = "XYZUser License Upload"
file1 = $FullPathTSVToSend
"@
$gist =  Invoke-WebRequest -Body $body   -Uri "https://website.com/action/directSubscriptionUpload"  -Credential $mycreds -Verbose -WebSession $myWebSession -OutFile $outFilePath -Method Post   -ContentType "multipart/form-data" 

मैंने आपके द्वारा सुझाए गए नए कोड के साथ पार्सशेल्ड के साथ संपादन किया ...

$content = Get-Content  $FullPathTSVToSend
$body = @{ 'format' = "XYZUser License Upload"; 'file1' = $( $content); 'email' ="[email protected]"  }
Invoke-WebRequest -Uri "https://website.com/doLogin" -Credential $mycreds -Verbose -SessionVariable myWebSession -Method Post -OutFile $outFilePath 
Invoke-WebRequest -Body $body -Uri "https://website.com/something" -Credential $mycreds -Verbose  -OutFile $outFilePath2 -Method Post -ContentType "multipart/form-data" -WebSession $myWebSession 

हालांकि, मैं अभी भी दूसरे आवे-वेबर्यूक्वैस्ट के लिए 404 त्रुटि प्राप्त कर रहा हूं। मुझे लगता है कि शायद कुछ और है जिसे मुझे पहले आमंत्रण-वेबआरव्यूस्ट कमांड से पारित करना होगा। लेकिन myWebSession के पास पहले कर्ल आदेश से उस कुकी I2KBRCK = 1 होना चाहिए।





session-cookies