কার্ল পোস্টের অনুরোধ শিরোনামগুলি দেখান? এই কাজ করতে একটি উপায় আছে কি?


87

আমি একটি কার্ল ওয়েব অটোমেশন অ্যাপ্লিকেশন তৈরি করছি এবং আমার পোস্টের ক্রিয়াকলাপের পছন্দসই ফলাফল না পাওয়ায় কিছুটা সমস্যা হচ্ছে, আমি কীভাবে পোস্ট পোস্টটি পাঠিয়ে যাচ্ছি (পোস্টার সহ) আমি সম্পূর্ণ পোস্ট অনুরোধটি প্রদর্শন করতে পারি তা জানার জন্য আমি কিছুটা সমস্যায় পড়ছি I এটি অনুসন্ধান করা হয়েছে তবে যা কিছু আসে সেগুলি হ'ল প্রতিক্রিয়া শিরোনাম, আসলে আমি এগুলিও চাই তবে অনুরোধও, যা গুগলে আমার যে পোস্টগুলির খুঁজে পাওয়া যায় তার কোনওটিই উল্লেখ করার মতো মনে হয় না ..

আমি জানি আমি এরকম কিছু ব্যবহার করে কার্ল অনুরোধের ফলাফলটি প্রদর্শন করতে পারি (আমার সিনট্যাক্স বন্ধ থাকলে আমাকে ক্ষমা করুন, আমি ইতিমধ্যে আমার আদর্শ এবং কোড দিয়ে আমার ভার্চুয়াল মেশিনটি বন্ধ করে দিয়েছি

 $result = curl($curl_exect) ;

যাইহোক, সম্পূর্ণ শিরোনামগুলি কীভাবে দেখতে হবে সে সম্পর্কে আমি কোনও পরামর্শের প্রশংসা করব thanks


সম্ভাব্য অনুরূপ: stackoverflow.com/questions/866946/...

উত্তর:


83

আপনি এইটি করে স্থানান্তর সম্পর্কিত তথ্য দেখতে পাবেন:

curl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);

অনুরোধের আগে, এবং

$information = curl_getinfo($curl_exect);

অনুরোধ পরে

দেখুন: http://www.php.net/manual/en/function.curl-getinfo.php

আপনি CURLOPT_HEADERএটি আপনার ব্যবহার করতে পারেনcurl_setopt

curl_setopt($curl_exect, CURLOPT_HEADER, true);

$httpcode = curl_getinfo($c, CURLINFO_HTTP_CODE);

return $httpcode == 200;

এইগুলি শিরোনাম ব্যবহারের কয়েকটি পদ্ধতি।


4
আমি এটি চেষ্টা করেছিলাম তবে এটি কেবল পোস্টের একটি অ্যারে আউটপুট করে যাতে এটি সঠিক শিরোনামগুলি না দেখায়, কেবলমাত্র পোষ্ট এবং ঠিক যেমনটি প্রাপ্তি সার্ভারটি দেখতে পাবে এটি সমস্যা সমাধানের জন্য আদর্শ নয়
রিক

4
উত্তরটি সম্পূর্ণ নয়। আগে অনুরোধ মৃত্যুদন্ড কার্যকর করা হয়, আপনি করতে হবেcurl_setopt($curl_exect, CURLINFO_HEADER_OUT, true);
naitsirch

4
এটি কেবল সার্ভারকে কী পাঠিয়েছে তা দেখায়। দেখে মনে হচ্ছে এটি curl_setopt ($ ch, CURLOPT_VERBOSE, সত্য); আপনি সার্ভারে কী প্রেরণ করবেন তা আপনাকে দেখার অনুমতি দেবে।
স্টিভেন

169

আপনার যা প্রয়োজন তা এখানে:

curl_setopt($curlHandle, CURLINFO_HEADER_OUT, true); // enable tracking
... // do curl request    
$headerSent = curl_getinfo($curlHandle, CURLINFO_HEADER_OUT ); // request headers

6
কীভাবে কেউ পোষ্টের ডেটা প্রদর্শন করতে পারে? অর্থাত্ কার্ল_সেটপ্ট দ্বারা যুক্ত করা হয়েছে (, ch, CURLOPT_POSTFIELDS, by পোস্টডাটা);
ড্যান ড্যাসক্লেস্কু

@ ড্যানডাসকলেস্কু যেহেতু আপনি ডেটা পোস্ট করেছেন, কার্ল অনুরোধটি তৈরি করার সময়, এটি পুনরুদ্ধার করার প্রয়োজন নেই is দ্রষ্টব্য: পোস্টিং ফর্মের মানগুলি "ফর্ম ডেটা" হিসাবে প্রেরণ করা হয়, শিরোনাম নয়, সুতরাং উপরেরগুলি সেগুলি কেন দেখায় না। আপনার যদি সত্যিই তারে রয়েছে তা দেখার প্রয়োজন হয় তবে ওয়্যারশার্ক চেষ্টা করুন।
জোসেফ লাস্ট

10

আপনি কার্ল দ্বারা প্রেরিত সমস্ত শিরোনামটি একটি ফাইলে সংরক্ষণ করতে পারেন:

$f = fopen('request.txt', 'w');
curl_setopt($ch,CURLOPT_VERBOSE,true);
curl_setopt($ch,CURLOPT_STDERR ,$f);

7

আপনি নিজে ব্যবহার করে শিরোনামগুলির অনুরোধ করতে পারেন:

// open a socket connection on port 80
$fp = fsockopen($host, 80);

// send the request headers:
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data);

$result = ''; 
while(!feof($fp)) {
    // receive the results of the request
    $result .= fgets($fp, 128);
}

// close the socket connection:
fclose($fp);

কীভাবে অনুরোধ করবেন সে বিষয়ে রাইটেন পছন্দ করুন


পোস্টটির জন্য ধন্যবাদ, আমি অনুমান করি আমি এটিকে কার্লের চেয়ে আলাদা লাইব্রেরি হিসাবে পুরোপুরি বুঝতে পারছি না, তাই না? কেবল কার্ল দিয়ে এটি করার কোনও উপায় আছে? যদি তা না হয় তবে আমি এটি এইভাবে করে দেখব, এটি ঠিক যে আমি ফপুটসের সাথে পরিচিত নই
রিক

এটি প্রকৃতপক্ষে পিএইচপি-র স্থানীয় কার্যকারিতা
এসএসএইচ এটি 21

4
এটি একটি দুর্দান্ত উত্তর কারণ এটি এক ধরণের কাঁচা অনুরোধ প্রকাশ করে। আমাকে সর্বদা সিআরএল ব্যবহার করতে শিখানো হয়েছিল যা একটি লাইব্রেরি যা কখনও কখনও ইনস্টল করতে হয় এবং সর্বদা উপলব্ধ থাকে না।
অ্যালটিমাস প্রাইম

2

ইদানীং আমার ঠিক একই সমস্যা হয়েছিল এবং আমি ওয়্যারশার্ক ইনস্টল করেছি (এটি একটি নেটওয়ার্ক মনিটরিং সরঞ্জাম)। এনক্রিপ্ট করা ট্র্যাফিক (এইচটিটিপিএস) ব্যতীত আপনি এগুলি দিয়ে সবকিছু দেখতে পারবেন।


4
WinCap বা অন্য ক্যাপচারিং সিস্টেমে WireShark রান, আপনি একটি Atheros ভিত্তিক চিপসেট আছে এটা কাজ করার জন্য আমি মনে করি, কেন আপনি শুধু Chrome ইনস্টল আত এবং প্রেস আছে Ctrl+Shift+Jতারপরে ক্লিক করুন XHRবোতাম এবং ফাইলের নাম এবং তারপর হেডার এবং তথ্য দেখুন।
রবার্টপিট

আমি ওয়্যারশার্ক চেষ্টা করেছি তবে মনে হচ্ছে এটি আমার বহির্গামী কার্ল পোস্ট ট্র্যাফিকটি
রিক

আমি ধরে নিয়েছি যে আপনি একটি লোকাল সার্ভারে কাজ করছেন, এটা কি?
গ্রেগ টায়ার

রবার্ট, আপনি ক্রোমে যা বলেছিলেন তা করার চেষ্টা করছি, তবে আমি যখন সিটিআরএল + শিফট + 3 করি তখন কিছুই করা হয় না, আমি এ সম্পর্কিত তথ্য অনুসন্ধান করছি তবে প্রাসঙ্গিক কিছু খুঁজে পাচ্ছি না, ক্রোমের বৈশিষ্ট্যটি কী? এই অ্যাক্সেস করা হয়? ধন্যবাদ
রিক

ঠিক আছে, আমি Chrome এ শিরোনামগুলি দেখার ক্ষেত্রে এটি পেয়েছি: google.com/support/forum/p/Chrome/… আমি বিশ্বাস করি এটির Ctrl + Shift + i এটি অ্যাক্সেস করতে পারে
রিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.