Great program, I'm using winsock and I'm running into a problem and I noticed your program does the same thing
In your program, use the GET method and go to
news.yahoo.com
when the data comes in, scroll all the way to the bottom of the data,
you'll notice that it is truncated. This is just an example, there are tons of other web sites that this happens to too.
I've been getting headaches on how to fix this problem, I need to be able to retrieve web page data with winsock. Got any ideas?
Last edited by HookahSchwa; Jan 6th, 2010 at 12:57 AM.
There is a limit of 64k to the length of strings in Visual Basic 6 and a 32k limit on the text box. If you want to display everything then consider the rich text control and retrieve the response from the server in 1000 byte chunks and append to the control.
This program is only a demonstration of how to format the requests so you will need to make modifications to the code to make it do what you require.
Last edited by visualAd; Jan 6th, 2010 at 04:28 PM.
with this program
is it possible to login to hotmail account.
i mean as i use the explorer to login through the login page.
i want to do that with a vb app, not with the explorer.
is it possible with this program ?
if yes, an example code would be much appreciated.
The URL Encode function is wrong.
If the character code is less than 16 the hex code is only one symbol. It must be with a leading zero. Might be fixed this way:
Code:
If curChar < 16 Then
newStr = newStr & "%0" & Hex(curChar)
Else
newStr = newStr & "%" & Hex(curChar)
End If
hay,
i attached a zip, which contain a text file i got from:
live server on "login.live.com"
this is a html file of the login page, that i managed retrieve via winsock,
but i don't know how to continue,
what the exact text i need to send back, with my username and password,
can someone please post the exact string i need to send back to the server
with my username and password.
you can write in the username: whatsup
in the password: 00000000
so i can find exactly what you did.
I am new to this forum, this is my first post and I need help
I just downloaded the zip package from first post. Attempted to run the project on MS Visual Studio 2005, which attempted to convert the project from VB6 to VB2005 . Now, when I run the application and do exactly what I am supposed to do, the request and output boxes confirm that, it communicates to the server as http://hostname/myfile.php?var1=xx&var2=yy&var3=zz but, no data passes through.
Though I made some modifications , I now have no manual modifications (except from automatic upgrade). Would anyone please help me by telling what could possibly be wrong?
In case needed, my post_dump.php is as follows:
Code:
<?php
include_once("dbconnect.php");
date_default_timezone_set('Europe/London');
$Day=date("d-m-y H:i");
if ($_GET):
foreach($_GET as $name => $var) :
$store_array[]=$var;
endforeach;
endif;
$var1=$store_array[0];
$var2=$store_array[1];
$var3=$store_array[2];
mysql_query("INSERT INTO `table` (var1,var2,var3,Day)VALUES ('$var1','$var2','$var3','$Day')");
?>
Attempting to use VB6 code in VB.Net (VB 2002 and later) is a bad idea, as not only does it take extra effort to get it working, but it is also likely to be much less efficient than the VB.Net methods of achieving the same tasks.
like i log in in some site using post/get Now i done successfully Now my problem is i want to visit user profile page after login my id
how can i do tht ?
thnx
Hi Varun... Welcome to the forums...
I think you need to store the cookies inorder to continue viewing the user profile. But I'm not sure about that
If my post was helpful to you, then express your gratitude using Rate this Post.
And if your problem is SOLVED, then please Mark the Thread as RESOLVED (see it in action - video) My system: AMD FX 6100, Gigabyte Motherboard, 8 GB Crossair Vengance, Cooler Master 450W Thunder PSU, 1.4 TB HDD, 18.5" TFT(Wide), Antec V1 Cabinet Social Group:VBForums - Developers from India
Thankx for demo and code
sorry I`m not so good in English
how can make accept sll
I want try to login to myspace
I don't know if I need cookies store too!?
I will post 2 request to same remotehost without winsock.close or winsock.state 8.
First post working, but in second post VB said to me Runtime error 400006, wrong connection state. I was removed "winsock.Close" command in "Private Sub winsock_Close()" and removed/modifyed blnConnected checking.
How to stay connection for using PHP Session id with cookie?
EDIT: RESOLVED, I dont need stay connection. I can use same Session ID with next cookie.
@sallong.27
You must look webpages source code in/near <form> tag. If u want write a tool for using some get/post webpage action, u must learn some basic HTML codes.
Last edited by Ufkabakan; Jun 18th, 2011 at 02:15 AM.
Sorry for my bad english... I hope you can understand me.
Private Declare Function WideCharToMultiByte Lib "kernel32" ( _
ByVal CodePage As Long, ByVal dwFlags As Long, _
lpWideCharStr As Any, ByVal cchWideChar As Long, _
lpMultiByteStr As Any, ByVal cchMultiByte As Long, _
ByVal lpDefaultChar As Long, lpUsedDefaultChar As Long) As Long
Modul
Code:
Public Function URLEncode2(ByRef Text As String) As String
Dim UTF8Bytes() As Byte
Dim lngA As Long, strChar As String
For lngA = 1 To Len(Text)
strChar = Mid$(Text, lngA, 1)
If strChar Like "[A-Za-z0-9]" Then
Else
If strChar = "=" Then
Else
W2UTF8 strChar, UTF8Bytes
strChar = HexEncode(UTF8Bytes)
End If
End If
URLEncode2 = URLEncode2 & strChar
Next lngA
End Function
Function W2UTF8(W As String, UTF8() As Byte) As Long
Dim Bytes&
If LenB(W) = 0 Then Exit Function
ReDim UTF8(LenB(W) + 16)
Bytes = WideCharToMultiByte(65001, 0, ByVal StrPtr(W), Len(W), _
UTF8(0), UBound(UTF8), 0, ByVal 0&)
ReDim Preserve UTF8(Bytes - 1)
W2UTF8 = Bytes
End Function
Function HexEncode(B() As Byte)
Dim i&, HexArr() As String
ReDim HexArr(UBound(B))
For i = 0 To UBound(B)
HexArr(i) = Right$("0" & Hex$(B(i)), 2)
Next i
HexEncode = "%" & Join(HexArr, "%")
End Function
And i thing we dont need "blnConnected" for checking connection/closed etc. Winsock.state have a state parameter for it:
@naruponk
Im sory i cant understand, what do u want clearly. This UTF-8 function can URL encoding for unicode strings like UTF-8 Russian or Greak or Turkish words.
Sorry for my bad english... I hope you can understand me.
Some one can upgrade this code to vb 2010? If yes it will be very helpfull!
It would probably be better if you rewrite it for use with Visual Basic .NET.
when you quote a post could you please do it via the "Reply With Quote" button or if it multiple post click the "''+" button then "Reply With Quote" button.
If this thread is finished with please mark it "Resolved" by selecting "Mark thread resolved" from the "Thread tools" drop-down menu. https://get.cryptobrowser.site/30/4111672
I modified this app a bit to simplify it but I'm getting some errors. When I try the "Send" command button a second time, "Invalid Operation at Current State" error occurs.
I am also having timeout problems sending multiple requests. The service is not recording data sent continuosly, hitting the "send" button. I think it has something to do with Winsock and not the service.
Would someone mind helping me? Thanks!
Option Explicit
' we set this to true whil a connection is established
Private blnConnected As Boolean
Dim Transaction_Num As String
Dim customer As String
Dim Location As String
Dim Weight As String
Dim Sort_Class As String
Dim ppp As Variant
Private Sub cmdSend_Click()
Dim strMethod As String
Dim strData As String
Dim strPostData As String
Dim strHeaders As String
Dim strHTTP As String
Dim X As Integer
Dim tmp As Integer
Dim Transaction_NumInt As Integer
Dim thestring As String
blnConnected = False
strPostData = ""
strHeaders = ""
If blnConnected Then Exit Sub
'"GET
'For all loads: http://ics.etechsystems.com:3000/col..._loads_on_belt (test) or http://192.168.0.21:3000/colmac/current_loads_on_belt (on site)
'To query a single load: http:// ics.etechsystems.com:3000/colmac/get_load/x (test) or http:// 192.168.0.21:3000/colmac/get_load/x (on site)
'For this service the x should be replaced with the tranaction_number you would like to find.
' txtUrl.Text = "http://ics.etechsystems.com:3000/colmac/current_loads_on_belt"
' txtUrl.Text = "http://ics.etechsystems.com:3000/colmac/get_load/1"
C++ programmers will dismiss you as a cretinous simpleton for your inability to keep track of pointers chained 6 levels deep and Java programmers will pillory you for buying into the evils of Microsoft. Meanwhile C# programmers will get paid just a little bit more than you for writing exactly the same code and VB6 programmers will continue to whitter on about "footprints". - FunkyDexter
There's just no reason to use garbage like InputBox. - jmcilhinney
The threads I start are Niya and Olaf free zones. No arguing about the benefits of VB6 over .NET here please. Happiness must reign. - yereverluvinuncleber
Many thanks for sharing this cool program with us. I tried to use your code with one of my project with involves loading url from listbox in submission variables value textbox. So i added a listbox that get populated from mysql db. I added a button so that on click it starts looping through listbox item and take each item and put it in submission variables value textbox and click send. What ever i do i can make this working with loop . I encluded the code for my click button but it never works. Could u help me fix this problem.thanks
VB Code:
' transfer all urls i loop
Private Sub Command1_Click()
Dim i As Long
For i = 0 To List2.ListCount - 1
List2.Selected(i) = True
txtVariableValue(0) = List2.List(i)
'MsgBox List2.List(i)
cmdSend_Click
Next
End Sub
just add : winsock_Close before cmdSend_Click. Let me know if it work
alva0708, you've just replied to the post which is 10 years old... let me say it again: T-E-N years
I'm amazed by your grave-digging skills, as I haven't seen such in a while.
Even better: consider how obsolete all of this is.
We now have quite a few helper objects in Windows we can use for making HTTP and HTTPS requests, and HTTP may be on the verge of extinction now in favor of HTTPS which this technique is useless for:
alva0708, you've just replied to the post which is 10 years old... let me say it again: T-E-N years
I'm amazed by your grave-digging skills, as I haven't seen such in a while.