PDA

View Full Version : سوال: اتصال به سرور یاهو و چک کردن وضعیت در مسنجر



my_blithe
پنج شنبه 25 مهر 1387, 15:44 عصر
سلام
من دارم یک صفحه میسازم که به وضعیت یک آی دی یاهو رو در صفحه خودم نشون بده برای این کار یک صفحه ساختم:


<%@ Page Language="VB" AutoEventWireup="false" CodeFile="yahoo.aspx.vb" Inherits="service_yahoo" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
id:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>&nbsp;<asp:Button ID="Button1"
runat="server" Text="Button" /><br />
<br />
<asp:Label ID="statuse" runat="server"></asp:Label></div>
</form>
</body>
</html>

و این هم کد پشت صحنه


Imports System.io
Imports System.Net.Sockets
Imports System.Net.Sockets.NetworkStream

Partial Class service_yahoo
Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Not TextBox1.Text = "" Then
Dim con As TcpClient = New TcpClient
con.Connect("mail.opi.yahoo.com/online?u=" & TextBox1.Text & "&m=t&t=0", 8080)
Dim stat As Stream = con.GetStream
Dim TcpStrRdr As StreamReader = New StreamReader(con.GetStream, Encoding.ASCII)
Dim Resp As String = Regex.Replace(TcpStrRdr.ReadToEnd, "" & Microsoft.VisualBasic.Chr(10) & "", "<br>")
Resp = Resp.ToLower
If Regex.IsMatch(Resp, "no online") Then
statuse.Text = "آفلاین . "
Else
statuse.Text = " آنلاین."
End If


End If

End Sub
End Class


اما موقعی که می خواد کار کنه این خطا رو می گیره:


Server Error in '/---' Application.



No such host is known


Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.Sockets.SocketException: No such host is known

Source Error:


Line 8: If Not TextBox1.Text = "" ThenLine 9: Dim con As TcpClient = New TcpClientLine 10: con.Connect("mail.opi.yahoo.com/online?u=" & TextBox1.Text & "&m=t&t=0", 8080)Line 11: Dim stat As Stream = con.GetStreamLine 12:

Source File: C:\Documents and Settings\morteza\Desktop\hostingweb\service\yahoo. aspx.vb Line: 10

Stack Trace:


[SocketException (0x2af9): No such host is known] System.Net.Dns.GetAddrInfo(String name) +481 System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6) +140 System.Net.Dns.GetHostAddresses(String hostNameOrAddress) +190 System.Net.Sockets.TcpClient.Connect(String hostname, Int32 port) +178 service_yahoo.Button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\morteza\Desktop\hostingweb\service\yahoo. aspx.vb:10 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75 System.Web.UI.WebControls.Button.RaisePostBackEven t(String eventArgument) +97 System.Web.UI.WebControls.Button.System.Web.UI.IPo stBackEventHandler.RaisePostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEve ntHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCol lection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919



Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42

کجای کار مشکل داره

my_blithe
پنج شنبه 25 مهر 1387, 21:14 عصر
بزارید سوالمو این طور مطرح کنم.

من می خوام وضعیت یک آی دی رو توی یاهو داخل سایت خودم مشخص کنم .
حالا چکار کنم.

merlin_vista
پنج شنبه 25 مهر 1387, 23:13 عصر
اگه ميخواهيد علاوه بر تشخيص آنلاين بودن يا نبودن طرف ، آواتر آن را هم در Yahoo پيدا كنيد و نمايش بدهيد از كد زير استفاده كنيد :کف::لبخند:


http://img.msg.yahoo.com/avatar.php?yids=info_mehrdad&format=jpgاين كد آي دي طرف را در ياهو ميگيره + نوع عكس برگشتي و آواتر طرف را بر ميگردونه . :تشویق::تشویق:

پارامتر yids = آي دي ياهو كاربر - در اين مثال info_mehrdad
forma = نوع فرمت عكس برگشتي - در اين مثال jpg

براي تشخيص وضعيت هم از كد دوستمان آقاي tarhebartar استفاده كن :چشمک:

نمونه آواتار :

http://img.msg.yahoo.com/avatar.php?yids=info_mehrdad&format=jpg

my_blithe
جمعه 26 مهر 1387, 06:02 صبح
قراره من تشخیص بدم که طرف آنلاین یا آفلاین.
با این :

http://opi.yahoo.com/online?u=mohammad_cute69&m=g&t=1 (http://opi.yahoo.com/online?u=mohammad_cute69&m=g&t=1)
یک عکس که مربوط به خود یاهو است نشون میده که 3 نوع بیشتر نیست.
حالا من می خوام عکسی که خودم می خوام رو نشون بده.
سایت نمونه پارس تولز.


به نظر من بهتره با کوئری استرینگ کار کنید

یعنی چطوری ؟؟

my_blithe
شنبه 27 مهر 1387, 20:26 عصر
کسی روشی برای این کار سراغ نداره؟؟؟؟

EmRa228
دوشنبه 31 فروردین 1388, 16:51 عصر
کسی روشی برای این کار سراغ نداره؟؟؟؟
پدر احساس مسئولیت بسوزه که منو مجبور کرد وارد بشم و یه توضیحی براتون بدم شاید بدرد بخور باشه:
از این کد استفاده کنید شاید به دردتون خورد:
http://opi.yahoo.com/online?u=emra228&m=a

hamed2592
سه شنبه 09 اسفند 1390, 23:56 عصر
آقا تشکر ... اما حالات Invisible رو چطور میشه چک کرد ؟