PDA

View Full Version : لوگین شدن به سایتی دیگر



r0ot$harp
یک شنبه 11 فروردین 1387, 01:09 صبح
سلام دوستان
من می خوام به وسیله ی .net به سایتی لوگین کنم .
من دز vb6 به وسیله ی Winsock به سایت postdata می کردم ولی اینجا نمی دونم با چی
باتشکر

Behrouz_Rad
یک شنبه 11 فروردین 1387, 09:58 صبح
کلاس System.Net.Sockets

r0ot$harp
یک شنبه 11 فروردین 1387, 14:12 عصر
کلاس System.Net.Sockets

تشکر آقا بهروز .


می تونید لطف کنید یه نمونه ای چیزی بزارین .
باتشکر

Aidin
یک شنبه 11 فروردین 1387, 19:17 عصر
مثالی برای استفاده از System.Net.Sockets

(با تشکر از آقای راد برای (regular expressions :چشمک:)

در وهله اول به NameSpace های زیر نیاز داریم :



<% @Import Namespace="System.Net.Sockets" %>
<% @Import Namespace="System.Text" %>
<% @Import Namespace="System.IO" %>
<% @Import Namespace="System.Text.RegularExpressions" %>برای شروع اتصال به Host از دستورات زیر بهره میگیریم :



TcpClient objTCPC = new TcpClient();
objTCPC.Connect(“whois.networksolutions.com”, 43);
بعد از اتصال صحیح به سرور باید Query مورد نظر به Host فرستاده شود :



string strDomain = “domain-for-check.com” + "\r\n";
byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain);
Stream objStream = objTCPC.GetStream();
objStream.Write(arrDomain, 0, strDomain.Length);
و در پایان باید از سرور جواب گرفت :



StreamReader objSr = new StreamReader(objTCPC.GetStream(), Encoding.ASCII);
string strServerResponse = objSr.ReadToEnd();
strServerResponse = Regex.Replace(strServerResponse, "\n", "<br>");
lblResponse.Text = strServerResponse;
objTCPC.Close();

کل کد بطور یکجا :



<% @Page Language="C#" Debug="false"%>
<% @Import Namespace="System.Net.Sockets" %>
<% @Import Namespace="System.Text" %>
<% @Import Namespace="System.IO" %>
<% @Import Namespace="System.Text.RegularExpressions" %>

<script language="C#" runat=server>

public void btn_Click(object sender, EventArgs eArgs)
{
try
{
TcpClient objTCPC = new TcpClient(Request.Form["WhoisServer"], 43);
string strDomain = Request.Form["DomainName"] + "\r\n";
byte[] arrDomain = Encoding.ASCII.GetBytes(strDomain);

Stream objStream = objTCPC.GetStream();
objStream.Write(arrDomain, 0, strDomain.Length);
StreamReader objSR = new StreamReader(objTCPC.GetStream(),
Encoding.ASCII);
lblResponse.Text = "<b>" + Request.Form["DomainName"] +
"</b><br><br>" + Regex.Replace(objSR.ReadToEnd(),"\n","<br>");

objTCPC.Close();
}
catch(Exception ex)
{
lblResponse.Text = ex.ToString();
}
}

</script>


<html (http://barnamenevis.org/glossary.php?q=H#term_75) [7]>
<head>
<style>
.main {font-family:Verdana; font-size:12px;}
.title {font-family:Verdana; font-size:18px; font-weight:bold;}
</style>
</head>
<body>
<span class="title" align="center">WHOIS ASP.NET page</span>

<form method="POST" name="MainForm" runat="server">
<table>
<tr>
<td class="main" align="right">Whois Server</td>
<td class="main">
<asp:DropDownList class="main" id="WhoisServer" runat="server">
<asp:ListItem value="whois.networksolutions.com">
whois.networksolutions.com (.COM, .NET, .EDU)</asp:ListItem>
<asp:ListItem value="whois.ripe.net">whois.ripe.net
(Europe)</asp:ListItem>
<asp:ListItem value="whois.cira.ca">whois.cira.ca (.CA)
</asp:ListItem>
<asp:ListItem value="whois.nic.uk">whois.nic.uk
(.CO.UK)</asp:ListItem>
<asp:ListItem value="whois.domain-registry.nl">
whois.domain-registry.nl (.NL)</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="main" align="right">Domain Name:</td>
<td class="main"><input type="text" class="main"
name="DomainName" value=""></td>
</tr>
<tr>
<td class="main">&nbsp;</td>
<td class="main"><input type="Submit" id="btnSubmit"
OnServerClick="btn_Click" value="Send" runat="server" /></td>
</tr>
</table>
<br><br>
<asp:Label class="main" id="lblResponse" runat="server"/>
</form>
</body>
</html>

r0ot$harp
یک شنبه 11 فروردین 1387, 21:25 عصر
بابا توروخدا یکی جواب ما رو بده :
مشکل این کد چیه ؟
Dim s As New Net.Sockets.Socket


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim host As String = ("http://free-offline.com")


Dim port As Integer = 80

s.Connect(host, port)