PDA

View Full Version : منظور از این چیست : " ارسال درخواست http به سایت گوگل و دریافت header 200 "



samadblaj
دوشنبه 25 دی 1391, 14:46 عصر
سلام دوستان دارم روی یک پروژه ویندوز برای یک اداره کار میکنم برنامه باید تنظیمات اینترنت کاربر رو به صورت اتوماتیک انجام دهد اما این قسمت رو متوجه نمیشم منظور چی میتونه باشه ؟

ارسال درخواست وب :

ارسال درخواست http به سایت گوگل و دریافت header 200

Y_Safaiee
دوشنبه 25 دی 1391, 15:23 عصر
سلام دوست من

ممکنه منظورش اینه که مثلا بزنی barnamenevis.org رو بفرسته به گوگل و هدری که میاد رو نشون بده که برای سایت برنامه نویس میشه "برنامه نویس"

شایدم منظورش اینه که یک موتور جستجو بنویسی,یعنی مثلا بنویسی سی شارپ بیاد بفرسته به گوگل بعد همه سایت هایی(200 نوشته پررنگ سرچ شده) که گوگل سرچ میکنه رو تو برنامه لیست کنه.

شایدم منظورش اینه که تو اسم سایت رو بدی اون بگه کدوم سایته و HTTP اون چی میشه.

اینها فقط به ذهنم رسید

موفق باشی
بایت بایت

samadblaj
دوشنبه 25 دی 1391, 15:58 عصر
header 404 ya 500 ya 300

سلام منظور اینه من باید چیکار کنم میشه یه توضیحی بدید خودم میرم دنبالش فقط این مبحث برام روشن نیست....

Y_Safaiee
دوشنبه 25 دی 1391, 16:10 عصر
والا دوست خوبم

این چیزایی که بالا گفتی مثه 404 و 500 مال ارورهای سایتهاست کامل هم نمیگی دقیقا چی میخوای.

مثلا 404 مال Not Found
500 م ماله Internal Server Error

سایت های زیر رو نگاه کن شاید همونی باشه که میخوای و منظورشونم همون بوده.

http://net.tutsplus.com/tutorials/other/http-headers-for-dummies/

http://getnetgoing.com/HTTP-400.html

http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

موفق باشی
بایت بایت

plus
دوشنبه 25 دی 1391, 20:19 عصر
در اینترنت ارتباط با سرور سایت ها تحت پروتوکل هایی انجام میشه مثل پروتوکل HTTP.این پروتوکل تعاریفی داره.برای مثال، وقتی شما توی مرورگر میزنید http://google.com ، مروگر برای اینکه این سایت رو به شما نمایش بده، بر اساس پروتوکل HTTP، یک درخواست به سرور سایت گوگل میفرسته:


GET / HTTP/1.1
Host: google.com


بر اساس این پروتوکل، اگه درخواست درست باشه و آدرس درخواست شده (که اینجا صفحه اصلی یعنی / ) هست وجود داشته باشه و هیچ خطایی پیش نیامده باشه، سرور ابتدا یک هدر و سپس خروجی صفحه اصلی سایت رو برمیگردونه:



HTTP/1.1 200 OK
[HTTP Header]

[Response Data]

به 200 Respone Code و به Reponse Status، OK گفته میشه که لیستی ازین کد ها در لینکی که دوستمون دادن تعریف شده.200 به معنی قبول درخواست از طرف سرور و رخ ندادن خطا هست.
و ازینجاست که Browser متوجه میشه آدرسی که شما زدی صحیحه و اطاعات گرفته شده از سرور رو به شما به صورت گرافیکی نشون میده.
به طور خلاصه میشه گفت عبارت "ارسال درخواست http به سایت گوگل و دریافت header 200" یعنی اینکه اون سیستم میتونه به سایت گوگل دسترسی داشته باشه.مثلا میشه برای چک کردن اینکه سیستم به اینترنت دسترسی داره چنین کاری انجام داد.

samadblaj
سه شنبه 26 دی 1391, 10:07 صبح
Standard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request the response will contain an entity describing or containing the result of the action.[2]


سلام از دوستان عزیز آقای صفایی ممنونم بابت آدرس هایی که قرار دادید بله درست هم متوجه شدید منم میخوام از header 200 استفاده کنم




در اینترنت ارتباط با سرور سایت ها تحت پروتوکل هایی انجام میشه مثل پروتوکل HTTP.این پروتوکل تعاریفی داره.برای مثال، وقتی شما توی مرورگر میزنید http://google.com ، مروگر برای اینکه این سایت رو به شما نمایش بده، بر اساس پروتوکل HTTP، یک درخواست به سرور سایت گوگل میفرسته:
GET / HTTP/1.1
Host: google.com

بر اساس این پروتوکل، اگه درخواست درست باشه و آدرس درخواست شده (که اینجا صفحه اصلی یعنی / ) هست وجود داشته باشه و هیچ خطایی پیش نیامده باشه، سرور ابتدا یک هدر و سپس خروجی صفحه اصلی سایت رو برمیگردونه:


HTTP/1.1 200 OK
[HTTP Header]

[Response Data]

به 200 Respone Code و به Reponse Status، OK گفته میشه که لیستی ازین کد ها در لینکی که دوستمون دادن تعریف شده.200 به معنی قبول درخواست از طرف سرور و رخ ندادن خطا هست.
و ازینجاست که Browser متوجه میشه آدرسی که شما زدی صحیحه و اطاعات گرفته شده از سرور رو به شما به صورت گرافیکی نشون میده.
به طور خلاصه میشه گفت عبارت "ارسال درخواست http به سایت گوگل و دریافت header 200" یعنی اینکه اون سیستم میتونه به سایت گوگل دسترسی داشته باشه.مثلا میشه برای چک کردن اینکه سیستم به اینترنت دسترسی داره چنین کاری انجام داد.

از شما هم کمال تشکر رو بابت کامل کردن توضیحات دوستمون رو دارم الان کامل متوجه شدم...:تشویق:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.NetworkInformation;
using System.Net;
using System.IO;
using System.Net.Sockets;


namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

using (var client = new TcpClient("www.google.com", 80))
using (var stream = client.GetStream())
using (var writer = new StreamWriter(stream))
using (var reader = new StreamReader(stream))
{
writer.AutoFlush = true;
// Send request headers
writer.WriteLine("GET / HTTP/1.1");
writer.WriteLine("Host: www.google.com:80");
writer.WriteLine("User-Agent: Pastebin API 0.1");
writer.WriteLine("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
writer.WriteLine("Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7");
writer.WriteLine("Cache-Control: no-cache");
writer.WriteLine("Accept-Language: en;q=0.7,en-us;q=0.3");
writer.WriteLine("Connection: close");
writer.WriteLine();
writer.WriteLine();

// Read the response from server
Console.WriteLine(reader.ReadToEnd());
}
}
}
}


با جستجو هایی که داشتم با این کد 200 header رو بدست آوردم حالا اگه بخوام این کد رو در برنامه قرار بدم که در صورت صحیح بودن پیغام seccess و در صورت مشکل error رو بده؟

بر چه اساسی این خروجی باید تولید بشه؟

ممنونم

plus
سه شنبه 26 دی 1391, 12:44 عصر
با استفاده از reader.ReadLine خط اول رو بخونید و با استفاده از عبارات منظم System.Text.RegularExpressions.RegEx، کد و وضعیت خطا رو در بیارین.عبارت منظم برای در آوردن کد و وضعیت خطا، میتونه شبیه این باشه:


HTTP/([^\\s]+)\\s+([0-9]+)\\s+(.+)

پرانتز اول ورژن HTTP دومی کد و سومی وضعیت رو بدست میاره.