webForumDet fria alternativet

åäö märkligt! (asp/xml)

ASP

32 svar · 4 239 visningar · startad av udden · sida 2 av 2

Frågan, av udden

Har en textfil som innehåller "Hej då" Öppnar jag den med fso.openTextFile så får jag rätt utskrift. Försöker jag däremot öppna den med: Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") objXMLHTTP.Open "GET", strURL, False objXMLHTTP.Send strReturn = objXMLHTTP.responseText Set objXMLHTTP = Nothing Response.Write(strReturn) Så blir utskriften: Hej d? Varför blir det såhär? Är det n

Läs frågan i sin helhet →
Medlem sedan juli 2002171 inlägg
#21

aha.. Då har jag blandat ihop dig med någon annan.. :)

edit: Blandade ihop dig med en annan duktig programerare; Spango..

Medlem sedan juni 20008 205 inlägg
#22

  :r

Medlem sedan maj 200010 687 inlägg
#23

solbulle! Den binära saken du gav mig funkade bra! :)

Tack! :)

Medlem sedan dec. 19995 874 inlägg
#24

Textdokumentet kanske kan läsas in via fso istället? såhär exempelvis:

<%
Response.Clear
Response.CharSet = "ISO-8859-1"
Response.write readFile("mintextfil.txt")
Response.End

function readFile(filename)
		Dim fso, ts, f
		Set fso = Server.CreateObject("Scripting.FileSystemObject")
		Set f = fso.GetFile(filename)
		Set ts = f.OpenAsTextStream(1,-2)
		readFile = ts.ReadALL
		set ts = nothing
		set f = nothing
		set fso = nothing
end function
%>

Sedan ropar du bara på din aspfil med en inparameter kanske..

Medlem sedan mars 20015 287 inlägg
#25

Hm, det där kan väl inte fungera om sidan ligger på en annan server?

Medlem sedan dec. 19995 874 inlägg
#26

solbulle, nej, men om man har tillgång till textdokumentet så är det ju inga problem :)

Medlem sedan mars 20015 287 inlägg
#27

Jag fattar ändå inte hur jag kan göra så att jag kommer åt en sida över internet med den funktionen. Jag får det inte att fungera!?!

Medlem sedan jan. 20013 406 inlägg
#28

solbulle skrev:

Det enda jag kom fram till var en "binär" lösning:

function BinToText(varBinData, intDataSizeInBytes)
  const adFldLong = 128
  const adVarChar = 200
  set objRS = Server.CreateObject("ADODB.Recordset")
  
  objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
  objRS.Open
  
  objRS.AddNew
  objRS.Fields("txt").AppendChunk(varBinData)
  tmp = objRS("txt").Value
  objRS.Close
  BinToText = tmp
end function

Kan man även läsa in worddukment, pdf, ppt m.m. och få ut texten ur dem?

Medlem sedan maj 200010 687 inlägg
#29

Du kan läsa dem och få en binär blobb som du sen kan göra lite vad du vill med. T.ex. skicka till användaren.

Medlem sedan jan. 20013 406 inlägg
#30

Japp jag ska luska vidare i det där med binära. Har hittat en kod som kanske kan användas. Postar här när jag har någon färdig kod.

Medlem sedan juli 20041 183 inlägg
#31

Hjälp

Jag försöker hämta rubriker ifrån olika nyhetssidor inom orienteringssporten med XMLHTTP och det går rätt hyfsat. Bara dett att jag inte får fram mina åäö. Läste era binär lösningar men får de inte att fungera i min kod då jag bara vill ha vissa delar av en sida. Någon som kan hjälpa mig? Här är i alla fall min kod och jag är övertygad om att svaret finns precis framför näsan på mig...

<%
	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.orientering.se", False

	objHTTP.Send
	
	strHTML = objHTTP.responseText

	Set objHTTP = Nothing

	Set objRegExp = New regexp
	objRegExp.Global = true
	
	objRegExp.IgnoreCase = true
	objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
	
	Set hittade = objRegExp.Execute(strHTML)
	
	Response.Write "Nyhet 1: " & hittade(O) & "<br>"
	Response.Write "Nyhet 2: " & hittade(1) & "<br>"
	Response.Write "Nyhet 3: " & hittade(2) & "<br>"
%>

Väldigt tacksam för svar...

Medlem sedan mars 20015 287 inlägg
#32

Välkommen till wf!

Det är bara att klistra in funktionen och kalla på den, ingen skillnad på om du bara ska plocka ut bitar av sidan eller inte.

<%
function BinToText(varBinData, intDataSizeInBytes)
  const adFldLong = 128
  const adVarChar = 200
  set objRS = Server.CreateObject("ADODB.Recordset")
  
  objRS.Fields.Append "txt", adVarChar, intDataSizeInBytes, adFldLong
  objRS.Open
  
  objRS.AddNew
  objRS.Fields("txt").AppendChunk(varBinData)
  tmp = objRS("txt").Value
  objRS.Close
  BinToText = tmp
end function

	Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
	objHTTP.Open "GET", "http://www.orientering.se", False

	objHTTP.Send
	
	strHTML = BinToText(objHTTP.responseBody,35000)

	Set objHTTP = Nothing

	Set objRegExp = New regexp
	objRegExp.Global = true
	
	objRegExp.IgnoreCase = true
	objRegExp.Pattern = "<span class=""newsheader"">.*</span>"
	
	Set hittade = objRegExp.Execute(strHTML)
	
	Response.Write "Nyhet 1: " & hittade(O) & "<br>"
	Response.Write "Nyhet 2: " & hittade(1) & "<br>"
	Response.Write "Nyhet 3: " & hittade(2) & "<br>"
%>
Medlem sedan juli 20041 183 inlägg
#33

Tackar vänligast för välkomnandet och för den fina koden som fungerade. Som ni ser var det kanske lite väl sent igår men jag ville ju ha scriptet att fungera. :l Borde dock ha lagt mig så jag kunde lösa det pigg i huvudet. ;)

293 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
169 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)