I spent a lot of time solving the problem. I call a third-party API like
http: //abc/app.aspx? deFleetLastName = MyName & Test123 & deFleetFirstName = ààÃØjeetaSisodiààÃÅ
In the above url, I want to allow and between the word, like MyName & Test123. I also want to allow Spanish characters such as ààÃØjeetaSisodiààÃÅ
I use the code below to allow Spanish characters and work fine.
AuthRequest = "&deTCIVRAccountNumber=" + SecCardReq.AdminNumber; AuthRequest += "&deCISSTitle=" + SecCardReq.Title; AuthRequest += "&deTCIVRCardHolderIdentFirstName=" + SecCardReq.FirstName; AuthRequest += "&deTCIVRCardHolderIdentMiddleName=" + SecCardReq.MiddleName; AuthRequest += "&deTCIVRCardHolderIdentLastName=" + SecCardReq.LastName; AuthRequest += "&deCISSSecLastName=" + SecCardReq.SecLastName; AuthRequest += "&deCISSNameOnCard=" + SecCardReq.NameOnCard; AuthRequest += "&deTCIVRCardHolderIdentAddressLine1=" + SecCardReq.AddressLine1; AuthRequest += "&deTCIVRCardHolderIdentAddressLine2=" + SecCardReq.AddressLine2; AuthRequest += "&deTCIVRCardRegistrationCity=" + SecCardReq.City; AuthRequest += "&deTCIVRCardHolderIdentificationStateProvince=" + SecCardReq.State; AuthRequest += "&deTCIVRCardRegistrationPostalCode=" + SecCardReq.PostalCode; AuthRequest += "&deTCIVRCardRegistrationCountry=" + SecCardReq.Country; AuthRequest += "&deTCIVRCardRegistrationEmail=" + SecCardReq.Email; AuthRequest += "&deCISSEmail2=" + SecCardReq.Email2; AuthRequest += "&deTCIVRCardHolderIdentDOB=" + SecCardReq.DOB; AuthRequest += "&deCISSMotherMaidenName=" + SecCardReq.MotherMaidenName; AuthRequest += "&deTCIVRCardHolderIdentificationIdCode=" + SecCardReq.IdType; AuthRequest += "&deCIAOtherIDDescription=" + SecCardReq.IDDescription; AuthRequest += "&deTCIVRCardHolderIdentificationIdNumber=" + SecCardReq.IdNumber; AuthRequest += "&deCIAIDIssueDate=" + Convert.ToString(SecCardReq.IDIssueDate); AuthRequest += "&deCIAIDExpirationDate=" + Convert.ToString(SecCardReq.IDExpirationDate); AuthRequest += "&deCIASIssuedBy=" + SecCardReq.IDIssuedBy; AuthRequest += "&deCIAIDIssueState=" + SecCardReq.IDIssueState; AuthRequest += "&deSecondaryCardTypeForAPI=" + SecCardReq.SecondaryCardTypeForAPI; AuthRequest += "&deCIASHomePhoneCCode=" + SecCardReq.HomePhoneCountryCode; AuthRequest += "&deTCIVRCardRegistrationPhone=" + SecCardReq.HomePhoneNumber; AuthRequest += "&deCIASOfficePhoneCCode=" + SecCardReq.WorkPhoneCountryCode; AuthRequest += "&deCISSWorkPhoneNumber=" + SecCardReq.WorkPhoneNumber; AuthRequest += "&deCIASOfficePhoneExt=" + SecCardReq.WorkPhoneExt; AuthRequest += "&deMobilePhCCode=" + SecCardReq.MobilePhoneNumberCCode; AuthRequest += "&deCISSMobilePhoneNumber=" + SecCardReq.MobilePhoneNumber; AuthRequest += "&deFaxNumberCCode=" + SecCardReq.HomeFaxNumberCCode; AuthRequest += "&deCISSHomeFaxNumber=" + SecCardReq.HomeFaxNumber; AuthRequest += "&deWorkFaxNumberCCode=" + SecCardReq.WorkFaxNumberCCode; AuthRequest += "&deCISSWorkFaxNumber=" + SecCardReq.WorkFaxNumber; AuthRequest += "&deCISSLanguageIndicator=" + SecCardReq.LanguageIndicator; AuthRequest += "&deSecondaryCardPinAPI=" + SecCardReq.SecondaryCardPin; AuthRequest += "&deSecondaryCardDealerNumberForAPI=" + SecCardReq.SecondaryCardDealerNumber; AuthRequest += "&deIVREmbossingHotStamp=" + SecCardReq.EmbossingHotStamp; AuthRequest += "&deSecondaryCardPrivacy=" + SecCardReq.SecondaryCardPrivacy; AuthRequest += "&dePPCIPNumber=" + SecCardReq.PPCIPNumber; AuthRequest += "&deIVREmbossingLine4=" + SecCardReq.EmbossingLine4; AuthRequest += "&dePPCIPType=" + SecCardReq.PPCIPType; AuthRequest += "&dePDDeliveryMechanism=" + SecCardReq.DeliveryMechanism; AuthRequest += "&dePPCIPStatus=" + SecCardReq.PPCIPStatus; AuthRequest += "&deSecondaryCardExpOptForAPI=" + (SecCardReq.SecondaryCardExpOpt != null ? SecCardReq.SecondaryCardExpOpt : ""); AuthRequest += "&deSecondaryVCExpAfrTxnEntryAPI=" + SecCardReq.SecondaryVCExpAfrTxnEntry ?? ""; AuthRequest += "&deSecondaryVCExprAfrDaysEntryAPI=" + SecCardReq.SecondaryVCExprAfrDaysEntry ?? ""; AuthRequest += "&deSecondaryVCExprAfrDaysEntryDuration=" + SecCardReq.SecondaryVCExprAfrDaysEntryDuration ?? ""; AuthRequest += "&deSecondaryVCExpOnDate=" + (SecCardReq.SecondaryVCExpOnDate != null ? SecCardReq.SecondaryVCExpOnDate : ""); AuthRequest += "&deSecondaryVirtualCardLimit=" + SecCardReq.SecondaryVirtualCardLimit; AuthRequest += "&deSecondaryVirtualCardResetAllowedForAPI=" + "0"; // As per new changes in SCP AuthRequest += "&deCardValidFromDateAPI=" + SecCardReq.StartDate; // As per new changes in SCP AuthRequest += "&deCardValidTillDateAPI=" + SecCardReq.StopDate; // As per new changes in SCP AuthRequest += "&deBookingRefNumber=" + SecCardReq.BookingRefNumber; // As per new changes in SCP AuthRequest += "&dePPSSN=" + SecCardReq.DecryptedSSN; AuthRequest += "&deIVRSource=" + PortalCommon.PlateFormName; AuthRequest += "&deMakerCheckerJobID=" + SecCardReq.jobID; AuthRequest += "&deMakerCheckerFlag=" + SecCardReq.makerCheckerFlag; AuthRequest += "&deExistingCustomerId=" + SecCardReq.CustomerId; AuthRequest += "&deBankingCustomerIdAPI=" + SecCardReq.BankingCustomerId; //IDS CIBANCO CHANGES AuthRequest += "&dePoBCountry=" + SecCardReq.POBCountry; AuthRequest += "&dePoBState=" + SecCardReq.POBStateProvince; AuthRequest += "&dePoBCity=" + SecCardReq.POBCity; AuthRequest += "&deNationality=" + SecCardReq.Nationality; AuthRequest += "&deSACCode=" + SecCardReq.SACActivationCode; AuthRequest += "&deCHCustomerIdDetailMsg=" + SecCardReq.IDDetails; HttpRequestMsg = "User=" + (Convert.ToString(UserLogin)); HttpRequestMsg += "&Password=" + HttpUtility.UrlEncode(Convert.ToString(UserPassword)); HttpRequestMsg += "&Application=appCardinal"; HttpRequestMsg += "&dbbServiceName=svcIVRSecondaryCard"; HttpRequestMsg += "&dbbSystemExtLogin=1"; HttpRequestMsg += "&deDBBServiceApiLevel=1.2"; HttpRequestMsg += AuthRequest; HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(BaseUrl); httpRequest.Method = "POST"; httpRequest.Headers.Add("X-Forwarded-For", objLoginUserInfo.HostIp); httpRequest.Headers.Add("Authorization", AddAuthorizationHeader()); httpRequest.ContentType = "application/x-www-form-urlencoded"; httpRequest.CookieContainer = new CookieContainer(); string sOutput = string.Empty; sOutput = CommonBLL.GetDBBIDServiceResponse(httpRequest, HttpRequestMsg); public static string GetDBBIDServiceResponse(HttpWebRequest httpRequest, string httpRequestMsg) { string responseString = string.Empty; try { Utilities.APITraceEnable(httpRequestMsg); byte[] byteArray = Encoding.GetEncoding(1252).GetBytes(httpRequestMsg); httpRequest.ContentLength = byteArray.Length; Stream newStream = httpRequest.GetRequestStream(); //open connection newStream.Write(byteArray, 0, byteArray.Length); // Send the data. newStream.Close(); HttpWebResponse getResponse = (HttpWebResponse)httpRequest.GetResponse(); using (StreamReader sr = new StreamReader(getResponse.GetResponseStream())) { responseString = sr.ReadToEnd(); } } catch (Exception ex) { CreateLogFile.CreateActivityLog("CommonBLL GetEncodingWindows1252 Exception =============== " + ex.Message, ex.StackTrace); } return responseString; }
The problem occurs when user login and char. To allow and use HttpUtility.UrlEncode, but I do not want to use HttpUtility.Urlencode
Please suggest me how to allow both Spanish characters in the above API
source share