PDA

View Full Version : ذخیره در سرور



PawnPawn
سه شنبه 25 دی 1386, 13:06 عصر
من می خوام یک صفحه ای درست کنم که بعد از وارد کردن آدرس یک سایت در آن صفحه ،
محتوای آن سایت در سرور ذخیره بشه (نیازی به عکسها نیست فقط متن)

اگه مثال می زنید لطفا با
VB Asp.net

کسی میتونه کمک کنه :اشتباه:

Behrouz_Rad
سه شنبه 25 دی 1386, 14:02 عصر
از کلاس های HttpWebRequest و HttpWebResponse استفاده کن.
به مثال نیاز داری؟ از MSDN کمک بگیر.

موفق باشید.

Y@shar
سه شنبه 25 دی 1386, 14:24 عصر
بیشتر توضیح بده . میخوای تو یه فایل روی سرور بریزی . دلیل این کارت و بیشتر روشن کن ، اگه اطلاعات تو روی مسیر مشخصی خواستی بریزی و به فرمت خاصی روش های بهتری هم هست !

PawnPawn
سه شنبه 25 دی 1386, 18:20 عصر
اگه میشه مثال بزنید (یعنی کدشو بنویسید)
فرض کنید صفحه ای با یک textbox و button داریم
من میخوام زمانی که آدرس یک سایت رو در textbox می نویسم و رو button می زنم
صفحه اول اون سایت به صورت یک فایل در جای مشخصی تو سرور ذخیره بشه( فقط متن )

فکر می کنم دیگه نیازی به توضیح نباشه !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
لطفا یه کد (مثال) ساده هم که شده بدید

miladr
سه شنبه 25 دی 1386, 23:07 عصر
این کد C# گوگل رو stream میکنه و نمایش میده تغییرت با خودش

public partial class mytest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

WebRequest myRequest = WebRequest.Create("http://www.google.com");
WebResponse myResponse = myRequest.GetResponse();

Stream myStream = myResponse.GetResponseStream();
byte[] myContent = new Byte[myStream.Length];
myStream.Position = 0;
myStream.Read(myContent, 0, (int)myStream.Length);
Response.BinaryWrite(myContent);





}
}

PawnPawn
چهارشنبه 26 دی 1386, 08:06 صبح
تو این خط خطا میده
byte[] myContent = new Byte[myStream.Length];


System.NotSupportedException was unhandled by user code
Message="This stream does not support seek operations."
Source="System"
StackTrace:
at System.Net.ConnectStream.get_Length()
at _Default.Page_Load(Object sender, EventArgs e) in F:\Documents and Settings\F\My Documents\Visual Studio 2005\WebSites\WebSite3\Default.aspx.cs:line 21
at System.Web.Util.CalliHelper.EventArgFunctionCaller (IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.Util.CalliEventHandlerDelegateProxy.Cal lback(Object sender, EventArgs e)
at System.Web.UI.Control.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

miladr
چهارشنبه 26 دی 1386, 11:07 صبح
این هارو اضاف کن البته همش لازم نیست

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Xml;

miladr
چهارشنبه 26 دی 1386, 11:14 صبح
این رو هم ببین

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



' Using this Page URL as URL for Request

Dim rq As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(Me.Request.Url.To String())

Dim frmsCookie As HttpCookie = Request.Cookies(FormsAuthentication.FormsCookieNam e)



' If user is authenticated via forms Authenticaton then the Encrypted Cookie is append to request

' enabling access to secured pages.

If Not frmsCookie Is Nothing Then

Dim authcookie As New Net.Cookie

authcookie.Name = frmsCookie.Name

authcookie.Value = frmsCookie.Value

authcookie.Path = frmsCookie.Path

authcookie.Secure = frmsCookie.Secure

authcookie.Expires = frmsCookie.Expires



rq.CookieContainer = New System.Net.CookieContainer

rq.CookieContainer.Add(rq.RequestUri, authcookie)

End If



Dim rsp As System.Net.HttpWebResponse = rq.GetResponse()

Dim strm As System.IO.Stream = rsp.GetResponseStream()

Dim strmRdr As New System.IO.StreamReader(strm)

Dim PageHTML As String = strmRdr.ReadToEnd()

rsp.Close()

strmRdr.Close()

strm.Dispose()



Me.Email(PageHTML)



End Sub



Private Sub Email(ByVal EmailBody As String)



' Page will have repeat content in source

Response.Write(EmailBody)

' Do email regular



End Sub

PawnPawn
چهارشنبه 26 دی 1386, 13:12 عصر
این هارو اضاف کن البته همش لازم نیست

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Xml;

تشکر
ولی ! درسته که C# بلد نیستم
حد اقل اینو میدونم که تو C# برای اون کدی که اول نوشتید دو خط زیر لازمه
using System.Net;
using System.IO;
تا حالا که نتیجه ای نداشت
در هر صورت تشکر




کسی نمی تونه بیشتر کمک کنه !؟

PawnPawn
چهارشنبه 26 دی 1386, 13:15 عصر
شاید بشه با کد های بالا یه کاری کرد .........................

PawnPawn
چهارشنبه 26 دی 1386, 13:22 عصر
اگه تونستم کد کامل شده Vb رو همینجا می نویسم

raravaice
چهارشنبه 26 دی 1386, 13:41 عصر
Imports System.Net
Imports System.Text

Public Function readHtmlPage(ByVal url As String) As String

Dim webc As WebRequest
Dim str As String


Dim browser As WebClient = New WebClient
Dim enc As UTF8Encoding = New UTF8Encoding
Dim fileContents As String = enc.GetString(browser.DownloadData(url))
str = fileContents


Return str
End Function