I got your number from David. -> Minutes/hours/days ago David gave it to you.
I have got your number. -> You have his number.
Imagine you want somebody's number. You pluck up courage, and ask her. Returning triumphantly to your friends you say 'I got her number.'
Same situation, but this time you're a bit shy - instead of asking her directly you ask her friend David. You meet her in the canteen next week and chat. After a while she says 'Here, let me give you my number.' You say 'I have already got it. I got it from David last week.'
I got your number from David.
I have got your number from David.
Which one is correct and why?
Well, I think both are corect. When you use second form, you are definitely about past. When you use,"have + 3rd form", you are telling something which is unknown to the reader or listener. e.g. "India has won the match". This will be news to the listener or reader.If you say "India won the match", the listener will certainly ask "when?"
Anyway, NOT A NATIVE