안녕하세요.
VB .NET 2003 windows application에서 특정 웹의 CGI script로 데이타를 보낸 후 그 결과를 받아오는 방법을 알고 싶습니다.
http://pubchem.ncbi.nlm.nih.gov/search/PreQSrv.cgi 로 query를 보내는 것인데,
솔직히 어떻게 해야 될지 잘 모르겠습니다.
http://pubchem.ncbi.nlm.nih.gov/search/ 에 가면 구조 검색 기능이 있는데,
여기에 SMILES 에 예를 들어 ‘CCCCCC’를 넣고 ‘Search’버튼을 누르면,
해당 검색 queyr를 위의 PreQSrv.cgi로 보내게 됩니다.
POST method를 사용하는데,
어떤 식으로 VB .Net에서 구현을 해야될지 모르겠습니다. -_-;;
여러군데 찾아다녀서 아래와 같은 코드를 얻었는데, 계속해서 에러만 납니다.
(Console application 용으로 간단하게 만든것입니다.)
postData가 잘못된 것 같기도 하고 도무지 모르겠습니다. -_-.
고수님들의 조언 꼭 부탁드립니다. 미리 감사드립니다.
——————————————————————————————————————–
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Module Module1
Sub Main()
‘ Create a request using a URL that can receive a post.
Dim request As WebRequest = WebRequest.Create(“http://pubchem.ncbi.nlm.nih.gov/search/PreQSrv.cgi”)
‘ Set the Method property of the request to POST.
request.Method = “POST”
‘ Create POST data and convert it to a byte array.
Dim postData As String = “simpledata_search=CCCCCC&mode=simplequery&check=remote&execution=remote&queue=ssquery&output=entrez”
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
‘ Set the ContentType property of the WebRequest.
request.ContentType = “multipart/form-data”
‘ Set the ContentLength property of the WebRequest.
request.ContentLength = byteArray.Length
‘ Get the request stream.
Dim dataStream As Stream = request.GetRequestStream()
‘ Write the data to the request stream.
dataStream.Write(byteArray, 0, byteArray.Length)
‘ Close the Stream object.
dataStream.Close()
‘ Get the response.
Dim response As WebResponse = request.GetResponse()
‘ Display the status.
Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)
‘ Get the stream containing content returned by the server.
dataStream = response.GetResponseStream()
‘ Open the stream using a StreamReader for easy access.
Dim reader As New StreamReader(dataStream)
‘ Read the content.
Dim responseFromServer As String = reader.ReadToEnd()
‘ Display the content.
Console.WriteLine(responseFromServer)
‘ Clean up the streams.
reader.Close()
dataStream.Close()
response.Close()
End Sub
End Module
————————————————————————————————————-