You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用返回JSON的API遇异常:控制台正常Web应用报错

VB.NET Web应用调用PhoneValidator API时连接异常求助

我用VB.NET编写了调用PhoneValidator API获取号码信息的代码,完全相同的逻辑在控制台测试程序中可正常运行,但放到Web应用中执行时,在request.GetResponse()这一行抛出连接异常,具体情况如下:

Web应用核心代码

Public Function GetNumberInfo(ByVal pPhoneNumber As String) As PhoneInformation
    Dim url As String = "https://api.phonevalidator.com/api/v3/phonesearch?apikey=[My_API_Key]&phone=" & pPhoneNumber & "&type=fake,basic"
    DebugLog("App:Registration (RegistrationMOD.vb/GetNumberInfo) - DEBUG URL string: " & url)
    Dim request = CType(WebRequest.Create(url), HttpWebRequest)
    Dim myReader As StreamReader
    request.Method = "GET"
    request.Accept = "application/json"
    request.ContentType = "application/json; charset=utf-8;"

   ' 异常发生在这一行
    Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)

    myReader = New System.IO.StreamReader(response.GetResponseStream)
    Dim responseString As String = ""
    responseString = myReader.ReadToEnd
    Dim j As JavaScriptSerializer = New JavaScriptSerializer()
    Dim MyPhone As PhoneInformation = j.Deserialize(Of PhoneInformation)(responseString)
    Return MyPhone
End Function

异常日志信息

Debug log entries:
App:Registration/CreateAccount - An error occurred executing CheckPhone, the error is: The underlying connection was closed: An unexpected error occurred on a receive.

App:Registration/CreateAccount - Phone number submitted: 7029270000

Trace: System.Net.WebException(0x80131509): The underlying connection was closed: An unexpected error occurred on a receive.
   at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method   TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
   at Registration.RegistrationMod.GetNumberInfo(String pPhoneNumber) in C:\Users\Presc\Documents\Visual Studio 2013\Projects\Registration\Registration\RegistrationMod.vb:line 20
   at Registration.CreateAccount.CheckPhone(String pPhoneNumber) in C:\Users\Presc\Documents\Visual Studio 2013\Projects\Registration\Registration\CreateAccount.aspx.vb:line 241
Line:20 Filename: RegistrationMod.vb
Line:241 Filename: CreateAccount.aspx.vb

已确认的正确信息

调试日志显示生成的请求URL完全正确:

App:Registration (RegistrationMOD.vb/GetNumberInfo) - DEBUG URL string: https://api.phonevalidator.com/api/v3/phonesearch?apikey=[My_API_Key]&phone=7029270000&type=fake,basic

控制台测试代码(可正常运行)

Imports System.IO
Imports System.Net
Imports Nancy.Json

Module TestCodeMOD
    Public Function GetNumberInfo(ByVal pPhoneNumber As String) As PhoneInformation
        Dim url As String = "https://api.phonevalidator.com/api/v3/phonesearch?apikey=[My_API_Key]&phone=" & pPhoneNumber & "&type=fake,basic"
        Dim request = CType(WebRequest.Create(url), HttpWebRequest)
        Dim myReader As StreamReader
        request.Method = "GET"
        request.Accept = "application/json"
        request.ContentType = "application/json; charset=utf-8;"
        Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
        myReader = New System.IO.StreamReader(response.GetResponseStream)
        Dim responseString As String = ""
        responseString = myReader.ReadToEnd
        Dim j As JavaScriptSerializer = New JavaScriptSerializer()
        Dim MyPhone As PhoneInformation = j.Deserialize(Of PhoneInformation)(responseString)
        Return MyPhone
    End Function
End Module

执行入口:

Sub Main()
    Dim MyPhone As PhoneInformation
    MyPhone = GetNumberInfo("7029270000")
End Sub

求助需求

控制台程序能正常获取数据,但Web应用却抛出连接异常,求排查思路或解决建议。


内容的提问来源于stack exchange,提问作者Prescott Chartier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 15:35:52