Right now i am developing a chat bot using Dialogflow(API.AI) and the problem is when i send a message that contains a apostrophe(') the bot shows it as &apos , is there any way to show it as the original character?
for example look the image:
The message name is "Ricardo's Party" but when dialogflow returns the message it says "Ricardo&apost;s Party" there is any way to change that response message?
in the end, the problem was with the characters ' and " i solved the problem sending the message to the webhook(javascript backend) replacing all &apost; and " with "\'" and "\"" and then returning the new message to skype.
Related
I need to send an URL that contains thespecial character # through Telegram API post request.
I'm currently use HTML as parse mode.
The message to send is something like:
<a href='www.example.com/#/otherparams'>inline link example</a>
But when I send message the substring of the URL from the # to the end is automatically deleted.
I try to encode the # with related ASCII code %23 and the message is sent correctly, but the when I click on the link the URL doesn't works. I think there isn't a resolution of %23. If I manually replace the ASCII code in the URL bar of the browser with # works.
I obviously try to escape the char # with backslash, but the problem still persists.
On the docs I can't find nothing.
This is an example of script that I'm using, written in Python.
The problem is only #, if I change the message with an URL that doesn't contain #, the script works.
import requests
msg="<a href='www.example.com/#/otherparams'>inline link example</a>"
requests.post("https://api.telegram.org/bot" + token + "/sendMessage" + "?chat_id=" + chat_id + "&parseMode=html&text=" + msg)
I'm trying to use Jira's REST API in order to get an issue key using its name (summary).
I do so using env variables and parameters that are received by the function (TestCaseID is the summary in this case).
My get requests receive following information:
var getUrl = {
url : "https://" +
process.env.JIRA_USERNAME +
":" +
process.env.JIRA_PASSWORD +
"#" +
process.env.JIRA_BASE_URL +
"/rest/api/2/search?jql=" +
`Summary~"\"${TestCaseID}\""` ,
method: "GET" };
But I get the following error:
Error in the JQL Query: 'Access' is a reserved JQL word. You must surround it in quotation marks to use it in a query.
this is because the TestCaseID contains this specific word (and unfortunately I can't change it).
I don't understand why it asks me to surround it in quotes since this is exactly what I did when adding the "\" and \"".
I tried multiple different approaches to fix it, but eventually, I receive the same error again and again.
Does anybody have an idea how I can solve it?
I managed to solve it in case someone will face same issue in the future:
I used postman in order to use the feature that provides the request for Nodejs as explained here: Convert postman api call to Node.js call
and saw that 2 backslashes are used instead of one. so adding a second one solved it for me :
`summary~"\\"${TestCaseID}\\""`
iam using QT and Qsslsocket to get some emails body from Gmail using IMAP, I started using the IMAP command to log in, check how many emails I have, and fetch the data from the email I selected I use this commands sure after connected to IMAP using hostname and port.
tag login username password
after login and check the number of messages using tag select inbox I use this command to extract the body of the email.
tag fetch message_number (body[1])
the problem is i got very strange words like this
* 5 FETCH (BODY[1] {1856}
SGkgRmVsaXggYW5kIEZpbmdlcnMgRHVlbGluZyBQaWFub3MsCgpWaWN0b3JpYSBBLiBoYXMg
dXBkYXRlZCB0aGVpciBldmVudC4KClRoZSBwZXJmb3JtYW5jZSBsZW5ndGggaGFzIGJlZW4g
Y2hhbmdlZCB0byAzIGhvdXJzLgoKVGhlIHBlcmZvcm1hbmNlIHN0YXJ0IHRpbWUgaGFzIGJl
ZW4gY2hhbmdlZCB0byA1OjAwcG0uCgoKCgpVc2UgdGhlIGxpbmsgYmVsb3cgdG8gdmlldyB0
aGlzIGxlYWQ6Cmh0dHA6Ly90cmFja2luZy5naWdzYWxhZC5jb20vdHJhY2tpbmcvY2xpY2s/
ZD1RS1FFeEQxZGtIQTZrYWE3YzFXSzcxZ2VDVXBNX0F5UFRkcUpjeUVZcWZwN3RuMklNRXIx
WlRCOVcxYzlfR3VaUEFyaFhJQkIxbWl4S29jSDZXb1dVUTdlUkRsNl8zMTlPSXpLS0NGZmUz
X2FnQmRlN2lPd2hWaFczOXB2V25SMTY0R1JjaWdoYlZVSVpwT2k1NmxnOVhlV2JLcnhEVS05
WGJTWlBnZzhFRU9SMAoKUGVhY2UsIGxvdmUgJiBnaWdzLApUaGUgR2lnU2FsYWQgVGVhbQoK
CkZvbGxvdyBVcyEKRmFjZWJvb2sgaHR0cDovL3RyYWNraW5nLmdpZ3NhbGFkLmNvbS90cmFj
a2luZy9jbGljaz9kPXhkeEJya3I0eFZ0VE95bnhLbzFnUG1FR05HZU1TSlA5ODFSSVpUeEFJ
QlgzVmZuX3BBbk94Y2JMdUdURXpIR1RLWGVEMk9qUjFEc1NPeGRkX1Y4MjFWZXVYY1BEVXZv
TWNleWMwZHVPUXQtMXVDRjNxcHpVNGxDQmViT2VZbUpINVEyClR3aXR0ZXIgaHR0cDovL3Ry
YWNraW5nLmdpZ3NhbGFkLmNvbS90cmFja2luZy9jbGljaz9kPVY3LWpwbEZHVk5QcGExaVdU
VGF2aG5XZWJRLXRDQXZRakN6T2NBRXdCNDZ2R0FtbkplOFBfdHhycXdQUnhBallZbk9DRElt
ZktFeVAxQlNVR1J4MXhWelE4c3gxM2x1eWtoN3pKNXBXa1VKSEtPYThCYlRuUHF6Ykd1VGF0
THVTa3cyCkluc3RhZ3JhbSBodHRwOi8vdHJhY2tpbmcuZ2lnc2FsYWQuY29tL3RyYWNraW5n
L2NsaWNrP2Q9eEMzVEhBbjgyRTZuZ2piQXN6ZHRRVWZQcktNTVAwbDBpbzl0UDgxOW5SazBC
WDdvZmdZLU1OVk1jR2owTXdWQTNhZmV5aUh1T2VBSUE0V0tTM1NLZnU4Wk1nMENJRmszdnR3
X0F4Q1M2aWdiMDdCazBsU0p4QWNQYlJpc19uaFpNdzIKCgpTdG9wIGFsbCBHaWdTYWxhZCBl
bWFpbHMgKG5vdCByZWNvbW1lbmRlZCk6Cmh0dHA6Ly90cmFja2luZy5naWdzYWxhZC5jb20v
dHJhY2tpbmcvdW5zdWJzY3JpYmU/bXNnaWQ9UzQzLVFsVDVBbHhiaUl0SmhxU0NuZzIKCsKp
IFRoZSBHaWcgQnVyZWF1LCBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFBlYWNlLCBsb3Zl
ICYgZ2lnc8KuIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEdpZyBCdXJlYXUs
IExMQy4KMjczMyBFLiBCYXR0bGVmaWVsZCBSZCAjMTA1IFNwcmluZ2ZpZWxkLCBNTyA2NTgw
NA==
)
but the email contains normal message have normal words the strange is when i test with another gmail, i take this email from first email and send it forward message to my second email, it give me the normal text in it! so please any help i can't understand what is the problem, also what i tried is using openssl which give me same result as QT strange words, and javaMail library and extract text from first email it worked? so is the problem from the imap command i used or what?
Thanks in advance.
this a screenshot of the email message
Update
when i start some search i checked that this message is encoded to base64 and when i used online decoder it convert to the normal text but the question now is what command should i use so that i can fetch this message body text in normal text automaticly if there is such away.
When try to update status with link in linkedin api i'm getting this error frequently.
Example Link:
http://www.world-grain.com/articles/news_home/World_Grain_News/2016/06/General_Mills_files_patent_on.aspx?ID={30B4213B-4E10-4AF6-9B56-0D5614D7AFD3}&cck=1
If i remove the { and } from the link it get posted. Even in linkedin site itself its not working.
Help me if anyone know the reason.
I was receiving the same error and the reason was that I didn't send values for all the keys in request's body. For example: "content" parameter in linkedin's request body is a dictionary with 4 keys:
title
description
submitted-url
submitted-image-url
I had no image url so I didn't set the key "submitted-image-url" at all. The solution was to set the value to empty string "".
I wonder why linkedin can't parse dictionary if it doesn't have all the keys but that's the way it works.
Hope this helps
You may need to URL encode the braces in your link:
http://www.world-grain.com/articles/news_home/World_Grain_News/2016/06/General_Mills_files_patent_on.aspx?ID%3D%7B30B4213B-4E10-4AF6-9B56-0D5614D7AFD3%7D&cck=1
I ran into the same error when I attempted to pass a URL with spaces. It published successfully after URL encoding the spaces (%20).
I'm generating an e-mail in my website's controller with a link to my website:
"http://" & Request.Url.Authority & "/some-page"
This works when I tested it on my local machine (returns localhost:12345) and in production (returns www.company.com) but 1 person got this as a result:
http://www.company..com/some-page
As you can see there are 2 .. in the domain name. I can't reproduce this error, how is this possible?
Edit: a bit more information
The type of email I'm sending is a plain text email (no HTML or RTF)
The webserver logs show www.company.com as the domain when the problematic request was made
I only received a partial screenshot of the email. I think the email client is Outlook but I see no reason why Outlook would have misinterpreted the link.
It's certainly possible that this person (or malware) has edited the content of this email.
This is actually a problem with how the email is being encoded, see this answer: https://stackoverflow.com/a/6603002/186288. In summary, you should change the encoding to UTF8 to force base-64 encoding of the email, otherwise some email clients can misinterpret the default Content-Transfer-Encoding: Quoted-Printable; encoding and add in extra "."s in URLs that happen to hit a wrap point.
To do this, add this line before you send the email:
mail.BodyEncoding = System.Text.Encoding.UTF8;
I should have tried this sooner with a simple example:
Module Module1
Sub Main()
Dim SomeAddress As New Uri("http://www.example..com/test")
Console.WriteLine(SomeAddress.Authority)
End Sub
End Module
This will throw an exception in the constructor:
System.UriFormatException - Invalid URI: The hostname could not be
parsed
So the customer couldn't have received such an email from my code without editing it.
Why are you using Request.Url.Authority? I suggest you avoid to use it, and use Request.Url.Host. It's better to use Request.Url.Host or Uri class constructor, when consturcting incorrect URI it will throw exception and you can either log it or show error.
Anyway it's hard to predict why one user have got www.company..com Anyway your code with Request.Url.Authority concatenation can not produce it. So maybe error is in other location.