Yeni makale MQL5'te WinInet Kullanımı. Bölüm 2: POST İstekleri ve Dosyalar yayınlandı:
Yazar Alex Sergeev
Merhaba Alex,
Güzel makale - 'Bölüm 3' için bir isteğim var: XML-RPC istemci iletişimi (ve mümkünse sunucu).
Cheerz
Aşağıdaki deyim çalıştırıldığında sistem çöküyor, bu nasıl çözülmelidir?
hConnect=InternetConnectW(hSession, aHost, aPort, aUser, aPass, aService, 0, 0);
Hata: '......ex5' içinde 0x0000000000001F94'e erişim ihlali okundu
Satır 161'de küçük bir hata var. Bu satır şöyle olmalı:
else StringToCharArray(req.stData, data, 0, StringLen(req.stData));
bunun nedeni terminal 0'ın diziye kopyalanması ve HttpSendRequestW'nin terminal 0'ı (ekstra bir karakter gibi) son post var değerine göndermesidir. Örneğin eğer veriniz şu ise:
var1=value1&var2=value2
Web sayfanızda value1 ile ilişkili var1 ve value2\0 ile ilişkili var2 alacaksınız.
Bu harika bir makale. Paylaştığınız için teşekkürler.
Saygılarımla
Erişim ihlali hatası çözüldü ancak POST istekleri artık çalışmıyor. Görünüşe göre bir uchar dizisindeki veriler dll işlevine doğru şekilde gönderilmiyor.
Neden kimse bu sorunu umursamıyor?
Ayrıca bu nesne sınıfı ile bazı Erişim İhlali hataları aldım. Sorun, HttpOpenRequestW işlevinin çağrısında NULL işaretçi olarak '0' kullanılmasıydı. Çağrıyı değiştirmeyi deneyin
--- hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, nill, 0, INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
bir çağrı ile:
+++ hRequest=HttpOpenRequestW(hConnect, req.stVerb, req.stObject, Vers, NULL, NULL , INTERNET_FLAG_KEEP_CONNECTION|INTERNET_FLAG_RELOAD|INTERNET_FLAG_PRAGMA_NOCACHE, 0);
NULL işaretçisinin yanlış kullanımının MSDN belgelerinde bir çökme nedeni olarak açıkça belirtilmesi komiktir:
Failing to properly terminate the array with a NULL pointer will cause a crash.
- msdn.microsoft.com
Profilimden ürünler hakkında bir rapor almaya çalışıyorum ve alamıyorum, neyi yanlış yapıyorum?

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Yeni makale MQL5'te WinInet'i Kullanma. Bölüm 2: POST İstekleri ve Dosyalar yayınlandı:
Bu makalede, HTTP isteklerini kullanarak İnternet ile çalışma ve sunucu ile bilgi alışverişi yapma prensiplerini incelemeye devam edeceğiz. Burada CMqlNet sınıfının yeni işlevleri, formlardan bilgi gönderme yöntemleri ve POST isteklerini kullanarak dosya gönderme yöntemleri ve ayrıca Çerezleri kullanarak oturum açtığınız web sitelerindeki yetkilendirme açıklanmaktadır.
Bir önceki "İnternet üzerinden Terminaller Arası Veri Alışverişi için WinInet.dll Kullanımı" adlı makalede, kitaplık ile çalışmayı, web sayfalarını açmayı, GET isteklerini kullanarak bilgi göndermeyi ve almayı öğrenmiştik.
Bu makalede, şunları yapmayı öğreneceğiz:
Daha önce olduğu gibi, yerel bir proxy sunucusu kurmanızı şiddetle tavsiye ediyorum Charles; bu, çalışmanız ve sonraki denemeleriniz için gerekli olacaktır.
Yazar: ---